SJTUOJ Helper

The best SJTUOJ helper!

当前为 2020-05-06 提交的版本,查看 最新版本

// ==UserScript==
// @name         SJTUOJ Helper
// @namespace    https://oj.victrid.dev/
// @version      0.2
// @description  The best SJTUOJ helper!
// @author       VictriD
// @match        https://acm.sjtu.edu.cn/OnlineJudge/contest/*
// @match        https://acm.sjtu.edu.cn/OnlineJudge/problem/*
// @grant        none
// ==/UserScript==

(function () {
    'use strict';
    var lst = window.location.href.split('/');
    if (lst[lst.length - 2] == "contest") {
        var answer_div = document.createElement('div');
        answer_div.id = 'answer_div';
        var head = document.createElement('h3');
        head.innerHTML = "参考解答";
        for (var it = 0, lens = $('#problems .btn').length; it < lens; it++) {
            var str = $('#problems .btn')[it].innerHTML
            var strr = "https:\/\/oj.victrid.dev\/nr\/"
            strr = strr.concat(str, "\/")
            var btn;
            btn = document.createElement('a');
            btn.innerHTML = str;
            btn.target = "_blank";
            btn.classList.add("btn");
            btn.href = strr;
            answer_div.appendChild(btn);
            answer_div.append(" ");
        }
        $("#problems").append(document.createElement('hr'));
        $("#problems").append(head);
        $("#problems").append(answer_div);
        var ctrs = new Array();
        if ($.trim($(".dropdown-toggle").contents().filter(function () { return this.nodeType != 1; }).text()).split(":")[1] != undefined) {
            var vlv = $.trim($(".dropdown-toggle").contents().filter(function () { return this.nodeType != 1; }).text()).split(":")[1];
            var vl = $("tr:contains('" + vlv + "')").find("td").length - 3, sl = 2;
            for (; sl < vl; sl++) {
                if ($($("tr:contains('" + vlv + "')").find("td")[sl]).find("[color='green']").length) {
                    ctrs[sl - 2] = 1;
                    continue;
                }
                if ($($("tr:contains('" + vlv + "')").find("td")[sl]).find("[color='red']").length) {
                    ctrs[sl - 2] = -1;
                    continue;
                }
                ctrs[sl - 2] = 0;
            }
        }
        for (var itrr = 0, lensrr = $('#problems .btn').length, leps = ctrs.length; itrr < lensrr && itrr < leps; itrr++) {
            if (ctrs[itrr] == 1) $('#problems .btn')[itrr].classList.add("btn-success");
            if (ctrs[itrr] == -1) $('#problems .btn')[itrr].classList.add("btn-error");
        }


    }
    if (lst[lst.length - 2] == "problem") {
        var answer_btn = document.createElement('a');
        var strv = lst[lst.length - 1];
        answer_btn.id = 'answer_btn';
        answer_btn.classList.add("btn");
        answer_btn.classList.add("btn-large");
        answer_btn.innerHTML = "参考解答";
        var strrr = "https:\/\/oj.victrid.dev\/nr\/".concat(strv, "\/")
        answer_btn.href = strrr;
        $(".well").append(' ');
        $(".well").append(answer_btn);
    }
})();

QingJ © 2025

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