提交记录 10731


用户 题目 状态 得分 用时 内存 语言 代码长度
Zhengyi_Wang router32. 测测你的路由器 Wrong Answer 25 30 s 9964 KB C++ 1003 B
提交时间 评测时间
2019-09-28 17:02:05 2020-08-01 02:24:35
//#define Debug 
#ifndef Debug
#include "router.h"
#endif
#ifdef Debug
typedef struct {
    unsigned addr;
    unsigned char len;
    char pad[3];  // Padding for memory alignment
    unsigned nexthop;
} __attribute__((packed)) RoutingTableEntry;
#endif

#include <iostream>
#include <cstdlib>
unsigned int ans=-1;
int maxlen=-1;
int n;
int q;
const RoutingTableEntry *a;

void init(int _n, int _q, const RoutingTableEntry *_a) {
	n=_n;
	q=_q;
	a=_a;
}

inline unsigned reverse(unsigned x){
	return ((x&0b11111111000000000000000000000000)>>24)
	      +((x&0b00000000111111110000000000000000)>>8)
	      +((x&0b00000000000000001111111100000000)<<8)
	      +((x&0b00000000000000000000000011111111)<<24);
}

unsigned query(unsigned addr) {


	for (int i=0;i<n;i++){
		if (((addr>>(32-int(a[i].len)))==(reverse(a[i].addr)>>(32-int(a[i].len))))&&(int(a[i].len)>maxlen)){
			maxlen=a[i].len;
			ans=reverse(a[i].nexthop);
		}
	}	
	if (maxlen==-1) return 0;
	std::cout<<maxlen<<std::endl<<ans;
	return ans;
}


CompilationN/AN/ACompile OKScore: N/A

Testcase #135.54 us36 KBAcceptedScore: 25

Testcase #23.92 ms9 MB + 512 KBWrong AnswerScore: 0

Testcase #330 s9 MB + 748 KBTime Limit ExceededScore: 0

Testcase #430 s9 MB + 748 KBTime Limit ExceededScore: 0


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