#求助大佬 MLE*2 TLE*1 40pnts#

P1137 旅行计划

过了 ```cpp #include<bits/stdc++.h> using namespace std; int n,m; vector<int> go[100001]; int ans[1000001]; int in[1000001]; queue<int> q; int main(){ cin>>n>>m; for(int i=1;i<=m;i++){ int a,b; cin>>a>>b; go[a].push_back(b); in[b]++; } for(int i=1;i<=n;i++){ if(in[i]==0){ q.push(i); ans[i]=1; } } while(!q.empty()){ int f=q.front(); q.pop(); int l=go[f].size(); for(int i=0;i<l;i++){ ans[go[f][i]]=max(ans[go[f][i]],ans[f]+1); in[go[f][i]]--; if(in[go[f][i]]==0) q.push(go[f][i]); } } for(int i=1;i<=n;i++){ cout<<ans[i]<<endl; } return 0; } ``` 提供代码 供参考
by YouZhouHang @ 2022-12-08 18:47:58


|