提交记录 14312


用户 题目 状态 得分 用时 内存 语言 代码长度
zhangzj router32. 测测你的路由器 Wrong Answer 25 293.985 ms 19408 KB C++ 1.04 KB
提交时间 评测时间
2020-09-23 11:14:25 2020-09-23 11:14:32
#include "router.h"

class RoutingTableEntry_z
{
public:
    unsigned addr;
    unsigned char len;
    unsigned nexthop;
    void set(RoutingTableEntry fr)
    {
        len = fr.len;
        nexthop = fr.nexthop;
        addr = 0;
        for (int i = 0; i < 4; i++)
        {
            addr <<= 8;
            addr |= (fr.addr >> (i*8)) & 255;
        }
    }

}table[827090];

int N;
unsigned Reverse(unsigned addr)
{
    unsigned ret = 0;
    for (int i = 0; i < 4; i++)
    {
        ret <<= 8;
        ret |= (addr >> (i*8)) & 255;
    }
    return ret;
}

void init(int n, int q, const RoutingTableEntry *a) {
    N = n;
    for (int i = 0; i < n; i++)
        table[i].set(a[i]);
}

unsigned query(unsigned addr) {
    int ret = -1;
    for (int l = 0, r = N - 1; l <= r;)
    {
        int mid = (l + r) >> 1;
        if (table[mid].addr == addr)
        {
            ret = mid;
            r = mid - 1;
        }
        else if (table[mid].addr < addr) l = mid + 1;
        else r = mid - 1;
    }
    return ret == -1 ? 0 : table[ret].nexthop;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #112.21 us28 KBAcceptedScore: 25

Testcase #25.419 ms18 MB + 976 KBWrong AnswerScore: 0

Testcase #3149.833 ms18 MB + 976 KBWrong AnswerScore: 0

Testcase #4293.985 ms18 MB + 976 KBWrong AnswerScore: 0


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