zoj 1395 可行遍性问题
来源:互联网 发布:凸优化求解算法 编辑:程序博客网 时间:2024/06/08 06:49
题目连接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1395
对于无向图的可行遍性问题。
- 无向图G是仅有两个奇结点的连通图,且G的欧拉通路以此两个端点为端点。
- G是无奇结点的连通图是,必有欧拉回路。
这道题的难点在于数据处理。
我是这样处理的
int readline(char s[]){ int i=0; for(i=0;(s[i]=getchar())!='\n'&&s[i]!=EOF;i++); s[i]=0; return i;}
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int readline(char s[]){ int i=0; for(i=0;(s[i]=getchar())!='\n'&&s[i]!=EOF;i++); s[i]=0; return i;}int main(){ //freopen("in.txt","r",stdin); char buf[200]; int doors=0; int m,n; int door[25]; while(readline(buf)) { if(buf[0]=='S') { doors=0; sscanf(buf,"%*s%d%d",&m,&n); memset(door,0,sizeof(door)); for(int i=0;i<n-1;i++) { readline(buf); int k=0; int b; while(sscanf(buf+k,"%d",&b)==1) //若从buf+k读取到了一个数据 { doors++; //cout<<b; door[i]++; door[b]++; while(buf[k]&&buf[k]==' '){ k++; } while(buf[k]&&buf[k]!=' ') { k++; } } } readline(buf); int odd=0; int even=0; for(int i=0;i<n;i++) { if(door[i]%2==0) even++; else odd++; } if(odd==0&&m==0) printf("YES %d\n",doors); else if(odd==2&&door[0]%2==1&&door[m]%2==1&&m!=0) printf("YES %d\n",doors); else printf("NO\n"); } else if(!strcmp(buf,"ENDOFINPUT")) break; } return 0;}
关于sscanf,我是第一次用。它能从一个字符串中读入与指定格式相符的数据。
%*s,%*d表示跳过这种数据不读。
0 0
- zoj 1395 可行遍性问题
- 可行遍性问题之欧拉回路
- ZOJ 2314 (无源汇可行流)
- zoj 2314(无源汇上下界可行流)
- ZOJ 2314 Reactor Cooling 无源汇上下界可行流
- ★ zoj 2314 无源汇上下界可行流
- ZOJ--2314--Reactor Cooling【无源汇上下界可行流】
- 【无源汇有上下界可行流】ZOJ-2314 Reactor Cooling
- 【有源汇有上下界可行流】POJ-2396(ZOJ-1994) Budget
- zoj 2314 reactor cooling(无源汇有上下界可行流)
- 一个问过100遍啊100遍的问题
- 装载问题(记录可行解)
- ajax直行两遍的问题
- ZOJ 2314 Reactor Cooling 上下界网络流(无源汇可行流)
- zoj 2314 Reactor Cooling(无源汇上下界可行流)
- zoj 2314 Reactor Cooling(无源汇上下界的可行流)
- poj 2396 zoj 1994 Budget(有源汇上下界的可行流)
- ZOJ 2314Reactor Cooling 无源汇上下界网络流 可行流
- Go 语言项目管理
- 操作系统7- shell
- oto餐饮app实时订单物流追踪系统架构设计(一)
- C++学习第二课
- “undefined JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析
- zoj 1395 可行遍性问题
- 网络 思科
- zabbix采集软件指标实现方法
- ios NSString md5 base64 urlEncode isEmail
- 修改项目名称
- 浅谈strtok函数的使用心得
- [Leetcode]Add Two Numbers
- BeanPropertyRowMapper小错误
- 二分查找算法