#include "router.h"
#include <Map>
std::Map<unsigned, RoutingTableEntry> map[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);
map[len][addr] = a[i];
}
}
unsigned query(unsigned addr) {
for (int len = 32; len >= 0; len --) {
if (map[len].count(addr) != 0) {
return map[len][addr].nexthop;
}
}
return 0;
}