Luogu Solutions for Codeforces

Add a button to your Codeforces tool bar.

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         Luogu Solutions for Codeforces
// @namespace    https://subc.rip
// @version      2024-02-17
// @description  Add a button to your Codeforces tool bar.
// @author       subcrip
// @match        https://codeforces.com/problemset/problem/*
// @match        https://codeforces.com/contest/*/problem/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=codeforces.com
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
    const url = window.location.pathname.split('/');
    let contest, problem;
    if (url.includes('contest')) {
        contest = url[2];
        problem = url[4];
    } else {
        contest = url[3];
        problem = url[4];
    }
    let button = document.createElement('li');
    let inner = document.createElement('a');
    inner.target = '_blank';
    inner.href = `https://www.luogu.com.cn/problem/solution/CF${contest}${problem}`;
    inner.innerText = 'SOLUTIONS';
    button.appendChild(inner);
    let menu = document.getElementsByClassName('second-level-menu-list')[0];
    menu.insertBefore(button, menu.children[2])
})();