#include "router.h"
#include <map>
std::map<unsigned, RoutingTableEntry> m[33];
void init(int n, int q, const RoutingTableEntry *a) {
for (int i = 0; i < n; i ++) {
unsigned addr = a[i].addr;
int len = (int)(a[i].len);
m[len][addr] = a[i];
}
}
unsigned query(unsigned addr) {
for (int len = 32; len >= 0; len --) {
if (map[len].count(addr) != 0) {
return m[len][addr].nexthop;
}
}
return 0;
}