文字化けcoder

atcoderの問題文がたまに文字化けします。縛りプレイ用。

  1. // ==UserScript==
  2. // @name 文字化けcoder
  3. // @namespace http://tampermonkey.net/
  4. // @version 1
  5. // @description atcoderの問題文がたまに文字化けします。縛りプレイ用。
  6. // @author @neet1737984
  7. // @license MIT
  8. // @match https://atcoder.jp/*_*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. const bakemozi = "蜀?捉荳翫蛟九?轤ケ縺檎ュ蛾俣髫斐荳ヲ繧薙〒縺翫縲縲繧狗縺九縺ヲ譎ィ縺セ縺ァ縺ョ逡ェ蜿キ縺御サ倥¢繧峨蠑ヲ縺ゥ縺?@縺ョ莠、轤ケ縺悟ュ伜惠縺吶k縺?°蛻、螳壹@縺ヲ縺上□縺輔>縲縺ヲ縺?∪縺吶?�����������";
  13.  
  14. const jatch = /^[\p{scx=Hiragana}\p{scx=Katakana}\p{scx=Han}]+$/u;
  15.  
  16. const CORRUPTION_P = 0.2;
  17.  
  18. (function() {
  19. 'use strict';
  20.  
  21. // Your code here...
  22. let content = document.querySelectorAll('div.col-sm-12');
  23. if(content.length==2){
  24. let elements = content[1].querySelectorAll('p,h3,li');
  25. elements.forEach(element => {
  26. element.childNodes.forEach(child => {
  27. if (child.nodeType === Node.TEXT_NODE) {
  28. let s = child.textContent;
  29. let t = ""
  30. for (var i = 0; i < s.length; ++i) {
  31. if(jatch.test(s[i]) && Math.random()<CORRUPTION_P){
  32. t += bakemozi[Math.floor(Math.random()*bakemozi.length)];
  33. }
  34. else{
  35. t += s[i];
  36. }
  37. }
  38. child.textContent = t;
  39. }
  40. });
  41. });
  42. }
  43. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址