1122 Hamiltonian Cycle
题意:包含图中所有结点的简单环称为汉密尔顿环。给出无向图,然后给出k个查询,问每个查询是否是汉密尔顿环。
思路:根据题目可知,我们需要判断一下几个条件:(1).首先保证给定的环相邻两结点是连通的;(2).若图结点个数为n,则环的结点个数必须是n+1;(3).环的起点和终点必须相同;(4).除了首尾结点外,其余结点有且仅有出现过一次。
注意点:因为会多次查询,因此记得在每次查询前进行初始化!(这个点经常出错!画时间找这种错误非常浪费!)
代码:
#include <cstdio>
#include <cstring>
;
};
int path[maxn];//存放查询的路径
};//存放路径结点出现的次数
int main()
{int n,m,u,v;
scanf("%d%d",&n,&m);
;i<m;i++){
scanf("%d%d",&u,&v);
graph[u][v]=graph[v][u]=;
}
int query,k;
scanf("%d",&query);
while(query--){
scanf("%d",&k);
bool flag=true;
memset(cnt,,sizeof(cnt));//每次查询前记得初始化!!!!!
;i<k;i++){
scanf("%d",&path[i]);
cnt[path[i]]++;//统计路径上的结点出现过的次数
}
//判断1
|| path[]!=path[k-]) flag=false;
else{
//判断2,环是否连通
];
;i<k;i++){
){
flag=false;
break;
}
pre=path[i];
}
if(flag){
//判断3
;i<k-;i++){
){
flag=false;
break;
}
}
}
}
if(flag) printf("YES\n");
else printf("NO\n");
}
;
}
1122 Hamiltonian Cycle的更多相关文章
- 1122 Hamiltonian Cycle (25 分)
1122 Hamiltonian Cycle (25 分) The "Hamilton cycle problem" is to find a simple cycle that ...
- PAT甲级 1122. Hamiltonian Cycle (25)
1122. Hamiltonian Cycle (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The ...
- PAT 1122 Hamiltonian Cycle[比较一般]
1122 Hamiltonian Cycle (25 分) The "Hamilton cycle problem" is to find a simple cycle that ...
- 1122 Hamiltonian Cycle (25 分)
1122 Hamiltonian Cycle (25 分) The "Hamilton cycle problem" is to find a simple cycle that ...
- PAT 1122 Hamiltonian Cycle
The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...
- 1122. Hamiltonian Cycle (25)
The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...
- PAT甲题题解-1122. Hamiltonian Cycle (25)-判断路径是否是哈密顿回路
博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789799.html特别不喜欢那些随便转载别人的原创文章又不给 ...
- PAT1122: Hamiltonian Cycle
1122. Hamiltonian Cycle (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The ...
- A1122. Hamiltonian Cycle
The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...
随机推荐
- Android开发——View的生命周期总结
0.前言 今天看到一个概念是View的生命周期,有点懵逼,听说过Activity的生命周期,Fragment的生命周期,对View的生命周期好像没什么概念啊.难道layout.draw这些也算是生命周 ...
- activity启动模式之singleTop
activity启动模式之singleTop 一.简介 二.设置方法 在AndroidManifest.xml中将要设置为singleTop启动模式的页面进行配置 <activity andro ...
- 使用Java代码来创建view
使用Java代码来创建view 一.简介 需要了解的知识 二.方法 1)java代码创建view方法 * 1.先建view对象 View view= View.inflate(this, R.layo ...
- Flexible实现H5页面的rem布局适配
1.https://www.w3cplus.com/mobile/lib-flexible-for-html5-layout.html (使用Flexible实现手淘H5页面的终端适配) 2.http ...
- Juniper
Juniper Networks[编辑] Juniper Networks 公司类型 上市(NYSE:JNPR) 成立 1996年2月 代表人物 执行长:Shaygan Kheradpir技术 ...
- day13作业
#作业1猜年龄 , 可以让用户最多猜三次! # Auther:bing #!/usr/bin/env python age = 24 print("猜年龄") for i in r ...
- java中商业数据计算时用到的类BigDecimal和DecimalFormat
1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确 ...
- ADO.NET数据库访问技术(转)
这几天的自学,现在总结一下关于C#中连接数据库的一些知识点: 1.使用Connection连接数据库的步骤: (1).添加命名空间 System.Data.SqlClient(注意:初学者经常会忘记) ...
- 详解scrapy
>> (1) 基本概念 >> (2) 爬虫与反爬 >> (3) 基本概念 >> (4) 基本概念
- SQL-left(right,inner) join
left join(左联接) :返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) :返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) ...