uva10596 - Morning Walk
来源:互联网 发布:redis 数据库命令大全 编辑:程序博客网 时间:2024/05/17 01:41
看是否连通,是否是欧拉回路。注意r=0是输出Not Possible,虽然我认为r=0是应该输出Possible
#include <iostream>#include <cstring>#include<cstdio>#include <queue>using namespace std ;struct load{ int x,y;};int flag,n,r;load lo[11000];int f[210];int find(int x){ return f[x]==x?x:f[x]=find(f[x]);}void liangtong(){ int i; for(i=0; i<n; ++i) f[i]=i; for(i=0; i<r; ++i) { int e=find(f[lo[i].x ]); int v=find(f[lo[i].y ]); if(e!=v) { f[e]=v; } } int ans=find(lo[0].x); for(i=1; i<r; ++i) { if(ans!=find(lo[i].x )) { flag=0; return; } }}int main(){ //freopen("in.txt","r",stdin); // int n,r; while(~scanf("%d%d",&n,&r)) { int i; flag=1; int shu[210]= {0}; //int in[210]={0}; for(i=0; i<r; ++i) { scanf("%d%d",&lo[i].x,&lo[i].y); ++shu [lo[i].x]; ++shu[lo[i].y]; } if(r==0) { printf("Not Possible\n");continue; } for(i=0; i<n; ++i) { if(shu[i]%2==1) { flag=0; break; } } if(!flag) { printf("Not Possible\n"); continue; } liangtong(); if(!flag) { printf("Not Possible\n"); } else printf("Possible\n"); } return 0 ;}
- UVA10596- Morning Walk
- UVa10596 Morning Walk
- uva10596 - Morning Walk
- UVa10596 Morning Walk
- UVa10596 - Morning Walk(并查集)
- uva10596 Morning Walk (无向图,欧拉回路,存在性判断)
- uva 10596 - Morning Walk
- UVaOJ 10596 - Morning Walk
- uva 10596 - Morning Walk
- uva 10596 - Morning Walk
- UVa 10596 - Morning Walk
- UVa 10596 - Morning Walk
- 10596 - Morning Walk
- UVA 10596 Morning Walk
- UVaOJ10596---Morning Walk
- uva 10596 - Morning Walk
- UVA 10596 Morning Walk
- 10596 - Morning Walk
- MES系统
- 专为iPhone开发者准备的50款经典开源应用
- 括号匹配问题
- java Calendar 事件处理
- [makefile] 多目标依赖
- uva10596 - Morning Walk
- 面向对象编程三个特征—封装、继承和多态
- 信息系统项目管理师考试之历年真题资源大放送(附带个人珍藏论文)
- 编译linux下的lua程序失败
- 无序单向链表的插入排序(升序)
- cocos2d-x使用第三方的so库文件
- ENC28J60学习笔记——第4部分
- xcode快捷键
- 算法----中位数算法的妙用(更新中)