HIHO #1175 : 拓扑排序·二
2016-08-18 16:01
253 查看
题目链接
#include<bits/stdc++.h> using namespace std; #define cl(a,b) memset(a,b,sizeof(a)) #define LL long long #define pb push_back #define gcd __gcd #define For(i,j,k) for(int i=(j);i<k;i++) #define lowbit(i) (i&(-i)) #define _(x) printf("%d\n",x) const int maxn = 1e5+10; const int inf = 1 << 28; int n,m,k; int val[maxn]; int in[maxn]; vector<int> G[maxn]; int mod = 142857; int t_sort(){ stack<int> s; int ans = 0; for(int i=1;i<=n;i++)if(in[i]==0)s.push(i); while(!s.empty()){ int u = s.top();s.pop(); for(int i=0;i<G[u].size();i++){ int v = G[u][i]; val[v]+=val[u]%mod; if(--in[v]==0){s.push(v);} } } for(int i=1;i<=n;i++)ans+=val[i],ans%=mod; return ans; } int main(){ cin>>n>>m>>k; int ai; for(int i=1;i<=k;i++)cin>>ai,val[ai]=1; for(int i=0;i<m;i++){ int x,y; cin>>x>>y; G[x].pb(y); in[y]++; } cout<<t_sort()<<endl; return 0; }
相关文章推荐
- HiHoCoder_#1175 : 拓扑排序·二
- hihocoder 1175 拓扑排序·二
- hihocoder 1175 : 拓扑排序·二
- hiho 第215周 Circle Detect(拓扑排序 | DFS)
- hiho一下 第四十七周(拓扑排序)47
- hiho一下 第四十八周(拓扑排序的应用)48
- hiho 1174 拓扑排序(一)
- hiho一下 第四十七周——拓扑排序
- 【hiho四十八周】 求最后感染到的病毒总数(拓扑排序模板)
- hihocoder 1175 拓扑排序·二(拓扑排序应用)
- hiho 47 48 拓扑排序
- hihoCoder 1175:拓扑排序二
- hihocoder #1175 : 拓扑排序·二
- hiho week 81 【拓扑排序】
- hiho一下 第四十八周 拓扑排序·二【拓扑排序的应用 + 静态数组 + 拓扑排序算法的时间优化】
- hiho一下 第四十七周拓扑排序
- hihoCoder - 1175 - 拓扑排序·二 (拓扑排序的应用)
- HihoCoder - 1175 拓扑排序·二 拓扑排序、BFS
- #1175 : 拓扑排序·二
- Hiho----拓扑排序