您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
智神がコードを書きます
// ==UserScript== // @name AI補助付きAtCoder // @namespace http://atcoder.jp/ // @version 2025-06-19 // @description 智神がコードを書きます // @author Yukkku // @match https://atcoder.jp/contests/* // @icon https://atcoder.jp/favicon.ico // @grant none // @license MIT // ==/UserScript== (() => { 'use strict'; const button = Object.assign(document.createElement("button"), { innerText: "AI補助", className: "btn btn-default btn-sm", }); document.querySelector(".editor-buttons").appendChild(button); button.onclick = async e => { e.preventDefault(); const now = Date.now(); if (new Date(startTime._i) <= now && now <= new Date(endTime._i)) { alert("コンテスト中のAIの使用は禁止されているよ!"); return } const sleep = t => new Promise(r => setTimeout(r, t)); const asciiChokudai = atob("ICAgICAgICAgICAgICAgICAgICAgICAgLwogICAgICAgICAgICAgICAgICAgICAgIC8gKC8vLi9cXFwpCiAgICAgICAgICAgICAgICAgICgvLy8vLy8vLy9cXFxcXFxcKQogICAgICAgICAgICAgICAgKC8vLy8vLy8vLy8vLy9cXFxcXFxcKQogICAgICAgICAgICAgICgvLy8vLy8vLy8vLy8vLyAgIFxcXFxcXCkKICAgICAgICAgICAgKC8vLy8vLy8vLy8vLy8vICAgICAgIFxcXFxcXCkKICAgICAgICAgICAoLy8vLy8vLy8vLy8vLyAgICAgICAgICAgXFxcXFwpCiAgICAgICAgICAgKC8vLy8vLy8vLy8vIC8gICAgICAgX18gIFxcXFxcXCkKICAgICAgICAgICgvLy8vLy8vLy8vLS0gICAgICBgKiogKmAgIFxcXFxcKQogICAgICAgICAgKC8vLy8vLy8gX19fXyAgICAgICAtLS0tPiAgXFxcXFwpCiAgICAgICAgICAoLy8vLy8vICAgIH4gICAgICAgICcnICAgICAgXFxcKQogICAgICAgICAgICgvLy8gICAgICAgIC8gICAgIFwgICAgICAgIFxcKQogICAgICAgICAgICAgXFwgICAgIC8gICBgLS0tJyAgICBcICAgICAvCiAgICAgICAgICAgICAgICggICAgXCA8PS0tLS0tLT1eKi8gICAgKQogICAgICAgICAgICAgICAgICggICAgIGBgJycnJydgICAgICAgKQogICAgICAgICAgICAgICAgICB8XCAgICAgICAgICAgICAgICAvfAogICAgICAgICAgICAgICAgICB8ICBgXCAgICAgICAgICAvJyAgfAogICAgICAgICAgICAgICAgICB8ICAgICBgYC0tLS0tJycgICAgIFwKICAgICAgICAgICAgICAgIC8jLyAgICAgICAgICAgICAgICAgICAgXCMjYFwKICAgICAgICAgICAgLyMjIyMvXCAgICAgICAgICAgICAgICAgICAvIFwjIyMjYFwKICAgICAgIC8jIyMjIyMjIy8gIFwgICAgICAgICAgICAgICAgLycgICBcIyMjIyMjIyNgXA=="); const lineChokudai = asciiChokudai.split('\n'); const speekChokudai = m => { const r = [...lineChokudai]; r[7] += ' < ' + m; return r; }; const toggleButton = document.querySelector("button.btn-toggle-editor"); const editor = document.querySelector("#plain-textarea"); const getEditor = () => { toggleButton.click(); toggleButton.click(); return editor.value; }; const setEditor = s => { toggleButton.click(); editor.value = s; toggleButton.click(); editor.value = s; }; const s = getEditor(); setEditor("\n" + s); await sleep(1000); setEditor("智\n" + s); await sleep(500); setEditor("智 神\n" + s); await sleep(500); setEditor("智 神 降\n" + s); await sleep(500); setEditor("智 神 降 臨\n" + s); await sleep(500); const g = ["智 神 降 臨", "", "", ...lineChokudai]; for (let i = 1; i <= g.length; ++i) { await sleep(100); setEditor(g.slice(0, i).join("\n") + "\n" + s); } await sleep(1000); setEditor("#include <bits/stdc++.h>\n\n\n" + asciiChokudai + "\n" + s); await sleep(500); setEditor("#include <bits/stdc++.h>\nusing namespace std;\n\n" + asciiChokudai + "\n" + s); await sleep(500); setEditor("#include <bits/stdc++.h>\nusing namespace std;\n#include <atcoder/all>\n" + asciiChokudai + "\n" + s); await sleep(1000); const schokudai = speekChokudai("あとは頑張るのじゃぞ"); for (let i = g.length - 1; i >= 0; --i) { await sleep(100); setEditor("#include <bits/stdc++.h>\nusing namespace std;\n#include <atcoder/all>\n" + schokudai.slice(0, i).join("\n") + "\n" + s); } setEditor("#include <bits/stdc++.h>\nusing namespace std;\n#include <atcoder/all>\n" + s); }; })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址