用数组实现临接表
//2015/6/2 const int MAX_N=1e5+10; int prev[MAX_N]; struct Edge{ int to, prev; }; Edge E[MAX_N<<1]; void add_edge(int &id){ scanf("%d%d", &u, &v); E[id].to=v; E[id].prev=prev[u]; prev[u]=id++; E[id].to=u; E[id].prev=prev[v]; prev[v]=id++; } void get_graph(int N){ memset(prev, -1, sizeof(prev)); int id=0; while(N--) add_edge(id); }