Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define fast()(ios_base::sync_with_stdio(false),cin.tie(NULL));
- struct connect
- {
- int u;
- int v;
- int w;
- }eg[2020];
- int main()
- {
- fast();
- int t;
- cin>>t;
- while(t--)
- {
- int node,edge;
- cin>>node>>edge;
- for(int i=0;i<edge;i++)cin>>eg[i].u>>eg[i].v>>eg[i].w;
- int distance[1005];
- for(int i=1;i<=node;i++)distance[i]=INT_MAX;
- distance[0]=0;
- for(int i=0;i<node-1;i++)
- {
- for(int j=0;j<edge;j++)
- {
- if(distance[eg[j].u]+eg[j].w<distance[eg[j].v])
- distance[eg[j].v]=distance[eg[j].u]+eg[j].w;
- }
- }
- bool flag=false;
- for(int i=0;i<edge;i++)
- {
- if(distance[eg[i].u]+eg[i].w<distance[eg[i].v])flag=true;
- }
- if(flag)cout<<"possible"<<endl;
- else cout<<"not possible"<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement