RE 0pts 但过了 hack?

P1347 排序

看了[这个](https://www.luogu.com.cn/discuss/775376)后改成 ```getchar``` 也是一样的结果。 ```cpp #include<bits/stdc++.h> using namespace std; int n,m,graph[10010][10010],degree[10010],now[10010];//degree:入度 bool b[10010]; string ans; int top(){ ans=""; int f=1; for(int i=1;i<=n;i++) now[i]=degree[i],b[i]=0; for(int o=0;o<n;o++){ int cnt=0,minpos; for(int i=1;i<=n;i++) if(b[i]==0&&now[i]==0) cnt++,minpos=i; if(cnt==0) return -1; if(cnt>=2) f=0; ans+=minpos+64; b[minpos]=1; for(int j=1;j<=n;j++) if(graph[minpos][j]==1) now[j]--; } return f; } int main(){ scanf("%d%d",&n,&m); getchar(); for(int i=1;i<=26;i++){ for(int j=1;j<=26;j++) graph[i][j]=0; degree[i]=0; } int flag=0; for(int i=1;i<=m;i++){ string tmp; int t1=getchar()-64; getchar(); int t2=getchar()-64; getchar(); if(graph[t1][t2]==0) degree[t2]++; graph[t1][t2]=1; int p=top(); if(flag==0){ if(p==1){ printf("Sorted sequence determined after %d relations: ",i); cout<<ans<<".\n"; flag=1; }else if(p==-1) printf("Inconsistency found after %d relations.\n",i),flag=1; } } if(!flag) printf("Sorted sequence cannot be determined.\n"); } ```
by Hero_Broom @ 2024-04-05 21:48:01


|