AtCoder♡♡

AtCoderの問題文を雑な♡喘ぎ仕様にします。

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name         AtCoder♡♡
// @namespace    http://atcoder.jp/
// @version      1.0.1
// @description  AtCoderの問題文を雑な♡喘ぎ仕様にします。
// @author       Nauclhlt
// @match        https://atcoder.jp/contests/*/tasks/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    
    let ReplaceMap = {
        "ています。" : "てるのっ♡♡♡",
        "てください。": "てっ…♡♡おねがいだからぁっ♡♡",
        "られます。": "られちゃうのぉぉっ♡♡ ",
        "られる。": "られちゃうのぉぉっ♡♡",
        "せよ。": "してっ♡♡♡",
        "となる。": "になっちゃうぅぅぅぅ♡♡♡",
        "となる": "になっちゃうぅぅぅぅ♡♡♡",
        "よい。": "いいよ♡♡",
        "良い。": "いいよ♡♡",
        "ます。": "まぁす♡♡",
        "。": "♡♡ ",
        "て、": "てぇっ♡♡ ",
        "、": "っ♡♡ "
    };
    
    function dfsReplace(root, map)
    {
        let stack = [root];

        while (stack.length > 0)
        {
            let element = stack.pop();
            if ( element.tagName == "P" || element.tagName == "LI" )
            {
                for ( let key in map )
                {
                    element.innerHTML = element.innerHTML.replaceAll(key, map[key]);
                }
            }
            
            
            if (element.children.length > 0)
            {
                for (let i = 0; i < element.children.length; i++)
                {
                    stack.push(element.children[i]);
                }
            }
        }

        return false;
    }

    let taskStatement = document.getElementById("task-statement");
    
    dfsReplace( taskStatement, ReplaceMap );
})()