Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- vector <int> adj[10000];
- int vis[10000];
- int clr[10000];
- bool ok=true;
- void dfs (int v)
- {
- if (vis[v]) return;
- vis[v]=1;
- for (auto u : adj[v])
- {
- if (clr[u]==-1)
- clr[u]=1-clr[v];
- else
- {
- if (clr[u]==clr[v])
- ok=false;
- }
- dfs(u);
- }
- }
- int t,n,m,a,b;
- int main()
- {
- scanf("%d",&t);
- for (int y=1;y<=t;y++)
- {
- memset(vis,0,sizeof vis);
- for (int i=0;i<=2001;i++)
- adj[i].clear();
- for (int i=1;i<=2005;i++)
- clr[i]=-1;
- ok=true;
- scanf("%d %d",&n,&m);
- for (int i=0;i<m;i++)
- {
- scanf("%d %d",&a,&b);
- adj[a].push_back(b);
- adj[b].push_back(a);
- }
- clr[1]=0;
- dfs(1);
- printf("Scenario #%d:\n",y);
- if (ok)
- printf("No suspicious bug found!\n");
- else
- printf("Suspicious bug found!\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement