HDU 1829 A Bug's Life
来源:互联网 发布:万网域名指向花生壳 编辑:程序博客网 时间:2024/05/16 02:51
看别人都用并查集。。我用的是bfs
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <vector>#include <map>#include <queue>#include <ctime>#include <set>#define ll long long#define MK make_pair#define PB push_back#define SZ(x) ((int)(x).size())#define FOR(it,c) for ( __typeof((c).begin()) it=(c).begin(); it!=(c).end(); it++ )using namespace std;int n,m,st[2013];vector<int> vec[2013];bool bfs(int i){ queue<int> q; q.push(i); while(!q.empty()){ int u=q.front();q.pop(); FOR(v,vec[u]) if(!st[*v]){ q.push(*v); st[*v]=-st[u]; } else if(st[*v]==st[u]) return false; } return true;}int main(){#ifndef ONLINE_JUDGE freopen("a.in","r",stdin); freopen("a.out","w",stdout);#endif int t,ca=0; cin>>t; while(t--){ cout<<"Scenario #"<<++ca<<':'<<endl; memset(st,0,sizeof(st)); cin>>n>>m; for(int i=0;i<m;i++){ int a,b;scanf("%d%d",&a,&b); vec[a].PB(b); vec[b].PB(a); } bool ok=true; for(int i=1;i<=n&&ok;i++) if(!st[i]){ st[i]=1; if(!bfs(i)) ok=false; } if(ok) puts("No suspicious bugs found!"); else puts("Suspicious bugs found!"); puts(""); for(int i=1;i<=n;i++) vec[i].clear(); } return 0;}
- hdu 1829 A Bug's Life
- HDU 1829 A Bug's Life
- hdu 1829 A Bug's Life
- hdu 1829 A Bug's Life
- HDU 1829 A Bug's Life
- HDU 1829 A Bug's Life
- hdu 1829 A Bug's Life
- hdu 1829 A Bug's Life
- hdu 1829 A Bug's Life
- hdu 1829 A Bug's Life
- HDU 1829 A Bug's Life
- HDU 1829 A Bug's Life
- HDU 1829 A Bug's Life
- hdu 1829 A bug’s life
- HDU 1829 A Bug's Life
- HDU 1829 A Bug's Life
- HDU 1829 A Bug's Life
- A Bug's Life-HDU-1829
- 网络编程常用接口的内核实现----sys_socket()
- RF kill switch support
- iOS避免内存警告的一些建议
- UML——时序图
- javascript循环绑定事件,只返回最后一个实例,解决办法
- HDU 1829 A Bug's Life
- 完整 httpd.conf 配置详情及中文注解
- ios 真机调试的细节
- Gallay
- hdu 2818 Building Block(并查集,输出一元素下边有多少)
- 加速Web开发的9款知名HTML5框架
- static 在c和c++
- ubuntu下中文乱码解决方案(全)
- PostgreSQL学习笔记1之表定义