Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<cstdio>
- #include<vector>
- using namespace std;
- vector<int> edge[100];
- int indeg[100],node;
- void topsort()
- {
- int i;
- for(i=1;i<=node;i++)
- if(indeg[i]==0)
- {
- indeg[i]=-1;
- break;
- }
- if(i==node+1) return;
- printf("%d ",i);
- for(int j=0;j<edge[i].size();j++)
- indeg[edge[i][j]]--;
- topsort();
- }
- int main()
- {
- int edges,n1,n2;
- scanf("%d%d",&node,&edges);
- for(int i=0;i<edges;i++)
- {
- scanf("%d%d",&n1,&n2);
- edge[n1].push_back(n2);
- indeg[n2]++;
- }
- topsort();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment