提交记录 10757


用户 题目 状态 得分 用时 内存 语言 代码长度
duck router32. 测测你的路由器 Runtime Error 25 2.212 ms 9712 KB C++ 459 B
提交时间 评测时间
2019-09-29 23:36:37 2020-08-01 02:26:53
#include "router.h"
int nn;
const RoutingTableEntry *b;
void init(int n, int q, const RoutingTableEntry *a) {
	b=a;nn=n;
}

unsigned query(unsigned addr) {
for (int k=32;k>=0;k--){
int lo=nn-1,hi=-1;
while (lo-hi>1){
int mid=(lo+hi)/2;
if (b[mid].addr>=addr) lo=addr;
else hi=addr;
}
for (int i=lo;i<nn;i++){
if (b[i].addr==addr){
if (b[i].len==k) return b[i].nexthop;
}else{
break;
}
}
if (k<=1){
addr=0;
}else{
addr>>=(33-k);
addr<<=(33-k);
}
}
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #114.49 us24 KBAcceptedScore: 25

Testcase #22.212 ms9 MB + 496 KBRuntime ErrorScore: 0

Testcase #32.21 ms9 MB + 496 KBRuntime ErrorScore: 0

Testcase #42.206 ms9 MB + 496 KBRuntime ErrorScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-29 00:10:25 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠