Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdlib>#include <cstdio>#include <cstring>#define NMAX 100100#define MMAX 500100#define MAXCOUNT 142857int head[NMAX];//各个地点路径头索引int paths[MMAX][2];//to, nextnoint waitqueue[NMAX];//[no pre next] first row is headint status[NMAX];int num[NMAX];int p,we,ws;int N,M,K;int total;char ch;void F(int &aa)// not used for negative integer{aa=0;while(ch=getchar(),(ch<'0'||ch>'9'));while(ch>='0'&&ch<='9') {aa=(aa<<3)+(aa<<1)+ch-'0';ch=getchar();}}void AddPath(int u,int v){paths[++p][0]=v;paths[p][1]=head[u];head[u]=p;}void RemovePath(int u){