(感谢wzc学长的幻灯片) 单组数据 注意从必经点能到标记过的点则此点不是分裂点。
//By: Sirius_Ren#include#include #include using namespace std;int tot=1,first[51],cnt,v[101],nxt[101],n,vis[51],ansx=0,ansy=0,j,k;queue p,q,r;void add(int x,int y){v[tot]=y,nxt[tot]=first[x],first[x]=tot++;}int main(){ memset(first,-1,sizeof(first)); for(cnt=0;~n;cnt++) while(scanf("%d",&n)&&n>=0)add(cnt,n); cnt--; for(int i=1;i