why RE

P1983 [NOIP2013 普及组] 车站分级

@[WZRYWZWY](/user/704668) Because I don't know 因为我也RE ```cpp #include<bits/stdc++.h> using namespace std; int n,m; struct node{ int to; int last; }edge[1001000]; int head[1100]={0},in[1100]={0},k=0;; void add(int x,int y){ k++; edge[k].to=y; edge[k].last=head[x]; head[x]=k; } int aa[1100]={0}; int main(){ int x; int sum=0,ans=0; scanf("%d %d",&n,&m); for(int i=1;i<=m;i++){ scanf("%d",&x); for(int j=1;j<=x;j++){ scanf("%d",&aa[j]); } int ki=2; for(int j=aa[1]+1;j<aa[x];j++){ if(j==aa[ki]){ ki++; continue; } for(int o=1;o<=x;o++){ add(j,aa[o]); in[aa[o]]++; sum++; } } } /* for(int i=1;i<=n;i++){ for(int j=head[i];j!=0;j=edge[j].last){ printf("%d to %d\n",i,edge[j].to); } //printf("i=%d %d\n",i,in[i]); } */ while(sum){ //printf("sum=%d ans=%d\n",sum,ans); for(int i=1;i<=n;i++){ //printf("in[%d]=%d\n",i,in[i]); if(in[i]==0){ int op=edge[head[i]].last; //printf("sum=%d i=%d\n",sum,i); for(int j=head[i];j!=0;j=op){ //printf("dd%d to %d\n",i,edge[j].to); in[edge[j].to]--; sum--; op=edge[j].last; edge[j].last=0; } head[i]=0; } } ans++; } cout<<ans+1; return 0; } ```
by Dai_Fu @ 2023-08-13 10:46:38


@[Dai_Fu](/user/704655) ……
by WZRYWZWY @ 2023-08-13 11:09:32


@[WZRYWZWY](/user/704668) 需删除重边。
by Bernie_qwq @ 2023-08-13 14:47:15


@[Bernie_qwq](/user/701460) 嗯
by WZRYWZWY @ 2023-08-13 14:50:40


@[WZRYWZWY](/user/704668) 所以能不能关注@[Bernie_qwq](/user/701460) 谢谢喵!
by Bernie_qwq @ 2023-08-13 14:51:18


@[Bernie_qwq](/user/701460) 为什么会有重边呢QAQ
by WZRYWZWY @ 2023-08-13 14:51:44


@[WZRYWZWY](/user/704668) 数据不保证没有重边吧(?
by Bernie_qwq @ 2023-08-13 14:53:41


@[Bernie_qwq](/user/701460) 我试试
by WZRYWZWY @ 2023-08-13 14:55:57


@[Bernie_qwq](/user/701460) 果然A了,感谢QAQ(话说为什么有重边就会RE啊)
by WZRYWZWY @ 2023-08-13 14:58:22


|