my cf

CF插件,可以跳转洛谷

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         my cf
// @namespace    xay5421
// @author       xay5421
// @match        *://codeforces.com/problemset/problem/*
// @match        *://codeforces.com/contest/*/problem/*
// @match        *://codeforces.ml/problemset/problem/*
// @match        *://codeforces.ml/contest/*/problem/*
// @match        *://codeforces.com/*
// @version      0.1
// @description  CF插件,可以跳转洛谷
// @require       https://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==

const pathname=location.pathname

if(/\/problemset\/problem\/(\d*)\/([A-Z][1-9]?)$/.test(pathname)){
	location.href=`/contest/${RegExp.$1}/problem/${RegExp.$2}`;
}
else if(/\/contest\/(\d*)\/problem\/([A-Z][1-9]?)$/.test(pathname)){
	let x=$('.header>.title'),y=x.html();
	x.html(`<a href="https://www.luogu.com.cn/problem/CF${RegExp.$1+RegExp.$2}" target="_blank">${y}</a>`);
}

if(0){
    var stateObject = {};
    var title = "Wow Title";
    var newUrl = "/my/awesome/url";
    history.pushState(stateObject,title,newUrl);
}