1 条题解
-
0
思路
b到a的奖金至少加1,100元下界;拓扑最长层数最小化总和,有环输出精确文本Poor Xed。
参考程序(C++11)
#include <bits/stdc++.h> using namespace std; int main(){int n,m;cin>>n>>m;vector<vector<int>>g(n);vector<int>in(n),d(n,100);while(m--){int a,b;cin>>a>>b;g[--b].push_back(--a);in[a]++;}queue<int>q;for(int i=0;i<n;i++)if(!in[i])q.push(i);int cnt=0;long long ans=0;while(!q.empty()){int x=q.front();q.pop();cnt++;ans+=d[x];for(int y:g[x]){d[y]=max(d[y],d[x]+1);if(!--in[y])q.push(y);}}if(cnt<n)cout<<"Poor Xed\n";else cout<<ans<<'\n';}
- 1