poj 1300 Door Man 无向图欧拉路径存在判断
2014-12-19 19:26
405 查看
题意:
给n个房间和m道门以及起点,问是否可以从起点到0号房间,经过每道门恰好一次。
分析:
把门看作边则是无向图是否存在欧拉路的问题。
代码:
给n个房间和m道门以及起点,问是否可以从起点到0号房间,经过每道门恰好一次。
分析:
把门看作边则是无向图是否存在欧拉路的问题。
代码:
//poj 1300 //sep9 #include <iostream> using namespace std; const int maxN=32; char s[1024]; char tmp[20]; int start,n,cnt; int d[maxN]; void solve() { int i,num=0; for(i=0;i<n;++i) if(d[i]%2==1) ++num; if((num==0&&start==0)||(num==2&&d[start]%2==1&&d[0]%2==1&&start!=0)){ printf("YES %d\n",cnt); return ; } printf("NO\n"); return ; } int main() { while(1){ gets(s); if(strcmp(s,"ENDOFINPUT")==0) break; else if(s[0]=='S'){ memset(d,0,sizeof(d)); cnt=0; sscanf(s,"%s%d%d",tmp,&start,&n); for(int i=0;i<n;++i){ gets(s); int x,p=0,t; while(s[p]==' ') ++p; while(sscanf(s+p,"%d%n",&x,&t)==1){ ++d[i]; ++d[x]; ++cnt; p+=t; while(s[p]==' ') ++p; } } scanf("%*s"); solve(); } } return 0; }
相关文章推荐
- poj 1386 Play on Words(欧拉路径存在的判断问题)
- POJ 1300 判断是否存在欧拉回路(包含定理)
- POJ 1300 Door Man(欧拉通路)
- POJ 1386 欧拉路径判断
- POJ - 1637 Sightseeing tour (混合图欧拉路径欧拉图判断)
- 是否存在欧拉路径问题 POJ - 1386 hihoCoder - 1181
- POJ 1300 Door Man 欧拉路的判断
- POJ 2337 && ZOJ 1919--Catenyms 【有向图 && 欧拉路判断 && 欧拉路径】
- POJ 1300 Door Man(欧拉通路)
- hdu1116&poj1386 并查集加欧拉路径的判断
- POJ 2337 欧拉回路+欧拉路径+判断欧拉回路和路径
- POJ 1300 Door Man (有向图欧拉通路)
- POJ 1300 Door Man(欧拉通路)
- POJ1300 Door Man —— 欧拉回路(无向图)
- POJ--1300--Door Man【推断无向图欧拉通路】
- poj 1386 Play on Words 有向图欧拉路径判断
- [ACM] POJ 3259 Wormholes (bellman-ford最短路径,判断是否存在负权回路)
- HDOJ 1116/POJ 1386 - Play on Words 判断有向图哈密顿通路转化为判断有向图是否存在欧拉通路
- POJ 1386 欧拉路径判断
- linux下判断路径是否存在(文件夹是否存在)