首页 > 其他分享 >OJ题目跳转

OJ题目跳转

时间:2023-01-21 12:44:22浏览次数:45  
标签:code 题目 OJ url site else 跳转 test input

<!DOCTYPE html>
<main class="main">
<div id="searchbox">
<input id="keyword" autofocus placeholder="题目编号 ↵" aria-label="search" type="search" onkeyup="onKeyUp(event)">
<div id="searchResults"></div>
</div>
<script>
let input = "";
let urls = [];
function onKeyUp(event) {
var e = event || window.event || arguments.callee.caller.arguments[0];
load();
if (e && e.keyCode == 13) {
window.open(urls[0], '_blank');
}
}
window.onload = load;
function load() {
input = document.getElementById("keyword").value;
input = input.toUpperCase().replaceAll(/\s/g, "");
urls = [];
match();
let d = "";
for (let i in urls) {
d += `<li class="post-entry"><header class="entry-header">${urls[i]}&nbsp;\xBB</header><a href="${urls[i]}" aria-label="${urls[i]}"></a></li>`;
}
document.getElementById("searchResults").innerHTML = d;
}
function test(site, preffix, extra) {
if (extra == null) {
let reg = new RegExp(`^${preffix}\\d*$`);
if (reg.test(input)) {
addURL(site, input.substring(preffix.length));
}
} else if (extra === 'cf-problem') {
let len = input.length;
let reg = new RegExp(`^${preffix}\\d+[A-Z]$`);
if (reg.test(input)) {
addURL(site, input.substring(preffix.length, len - 1), input.substring(len - 1));
return;
}
reg = new RegExp(`^${preffix}\\d+[A-Z]\\d$`);
if (reg.test(input)) {
addURL(site, input.substring(preffix.length, len - 2), input.substring(len - 2));
return;
}
}
}
function match() {
let len = input.length;
test('luogu', 'P');
test('luogu', 'LUOGU');
test('hdu', 'HDU');
test('hdu', 'HDOJ');
test('poj', 'POJ');
test('loj', 'LOJ');
test('uoj', 'UOJ');
test('bzoj', 'BZOJ');
test('codeforces-contest', 'CF');
test('codeforces', 'CF', 'cf-problem');
let allow_remote_oj = true;
if (allow_remote_oj) {
test('luogu-codeforces', 'CF', 'cf-problem');
test('vjudge-codeforces', 'CF', 'cf-problem');
test('vjudge-uva', 'UVA');
}
}
function addURL(site, code, extra) {
let url = "https://";
if (site === 'luogu')
url += `www.luogu.com.cn/problem/P${code}`;
else if (site === 'hdu')
url += `acm.hdu.edu.cn/showproblem.php?pid=${code}`;
else if (site === 'loj')
url += `loj.ac/p/${code}`;
else if (site === 'uoj')
url += `uoj.ac/problem/${code}`;
else if (site === 'poj')
url = 'http://' + `poj.org/problem?id=${code}`; //
else if (site === 'codeforces')
url += `codeforces.com/problemset/problem/${code}/${extra}`;
else if (site === 'codeforces-contest')
url += `codeforces.com/contest/${code}`;
else if (site === 'codeforces-contest')
url += `codeforces.com/contest/${code}`;
else if (site === 'bzoj')
url += `darkbzoj.tk/problem/${code}`;
//////// REMOTE OJ /////////
else if (site === 'luogu-codeforces')
url += `www.luogu.com.cn/problem/CF${code}${extra}`;
else if (site === 'vjudge-codeforces')
url += `vjudge.net/problem/CodeForces-${code}${extra}`;
else if (site === 'vjudge-lightoj')
url += `vjudge.net/problem/LightOJ-${code}`;
else if (site === 'vjudge-uva')
url += `vjudge.net/problem/UVA-${code}`;
urls.push(url);
}
</script>
</main>
<a href="#top" id="gototop" aria-label="go to top" title="Go to Top (Alt + G)">
</body>
</html>

标签:code,题目,OJ,url,site,else,跳转,test,input
From: https://www.cnblogs.com/kimi-learn/p/17063710.html

相关文章

  • [loj3832]无线电信号塔
    为了方便,这里将下标均\(+1\),并在\(0\)和\(n+1\)处建立无穷高的塔记\(i\)左右两侧第一个\(\geh_{i}+\delta\)的塔为\(l_{i}\)和\(r_{i}\),则通信条件也即\(r_{i}<j\)且\(l_......
  • PIPOJ 最大连续子序列
    题目描述给定 K 个整数的序列{ N1, N2, ..., NK} ,其任意连续子序列可表示为{ Ni, Ni+1,...,Nj} ,其中1<=i<=j <=K。最大连续子序列是所有连续子序列......
  • project car system / autosar / AUTomotive Open System Architecture
    s https://zhuanlan.zhihu.com/p/118849539汽车开放系统架构(AUTOSAR)是什么大长 汽车电子电气系统架构师/留德华 1.概念AUTOSAR,全称为Autom......
  • 移动端 ios pageShow 事件和 android visibilitychange 事件; A页面跳转到B页面操作
    1.pageshow事件当浏览器因导航而显示窗口的文档时,pageshow事件将被触发。这包括:初始加载页面从同一窗口或选项卡中的另一个页面导航到该页面在移动操作系统上恢复......
  • [loj3219]Iloczyny Fibonacciego
    注意到$$\begin{array}{ll}F_{n+m}&=F_{0}F_{n+m-2}+F_{1}F_{n+m-1}\\&=F_{0}F_{n+m-2}+F_{1}(F_{n+m-2}+F_{n+m-3})\\&=F_{1}F_{n+m-3}+F_{2}F_{n+m-2}\\&...\\&=F_{n-1}F......
  • ZROJ370 Medium Counting - 区间dp -
    题目链接:http://zhengruioi.com/problem/370题解:考虑对于\(S[l..r]\),如果要符合条件必然是在最高位分成了至少两段(也可能没有分出来,那就继续下一位)\(S[l..k]和S[k+1......
  • Loj 507 接竹竿 题解
    Loj链接:接竹竿${\scr\color{SkyBlue}{\text{Solution}}}$题目大意:给定一个数组,每次加入一种颜色的数,可以取走与它颜色相同的两个数之间的所有数,问最后取走的所有数......
  • Markdown怎么加入emoji
    如何博客更有创意,如何让你的博客更具生动,试试这些emoji,从此让你写出的博客告别枯燥。......
  • ZROJ369 Tiny Counting - 容斥 - 树状数组 -
    题目链接:http://zhengruioi.com/contest/101/problem/369题解:枚举\(i\),表示钦定了\(b\)或者\(d\)位于\(i\)处不妨设是\(b\)位于\(i\)处,\(d\)同理\(a\)......
  • PIPOJ 破译密码
    题目描述据说最早的密码来自于罗马的凯撒大帝。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A 都分别替换成字......