1122. Hamiltonian Cycle (25)解题报告
2017-01-01 11:07
351 查看
满足以下条件之一或几个就不是哈密顿环:
n不等于N+1;
相邻两个结点不相连;
头尾两个结点不一样;
环没有覆盖所有结点。
n不等于N+1;
相邻两个结点不相连;
头尾两个结点不一样;
环没有覆盖所有结点。
#define _CRT_SECURE_NO_WARNINGS #include <cstdio> #include <cstdlib> #include <set> using namespace std; int main(void) { int N, M, i, j, v1, v2, v3, head, K, n; bool arr[201][201] = { {false} }; setvbuf(stdout, new char[1 << 20], _IOFBF, 1 << 20); scanf("%d %d", &N, &M); for (i = 0; i < M; i++) { scanf("%d %d", &v1, &v2); arr[v1][v2] = true; arr[v2][v1] = true; } scanf("%d", &K); set<int> s; bool flag; for (i = 0; i < K; i++) { flag = true; scanf("%d", &n); if (n != N + 1) { flag = false; } scanf("%d %d", &v1, &v2); s.insert(v1); s.insert(v2); head = v1; if (!arr[v1][v2]) { flag = false; } for (j = 2; j < n; j++) { scanf("%d", &v3); s.insert(v3); v1 = v2; v2 = v3; if (!arr[v1][v2]) { flag = false; } } if (head != v2) { flag = false; } if (s.size() != N) { flag = false; } if (flag) { puts("YES"); } else { puts("NO"); } s.clear(); } return 0; }
相关文章推荐
- Android Studio JNI 日志打印
- BZOJ2321 [BeiJing2011集训]星器 能量守恒定律
- python 异常处理
- 【WPF】日常笔记(持续更新)
- Debian耳机声音问题
- Uva 1630 折叠串
- ViewPager的问题
- 使用SSH模式远程登录服务器
- Github不记录Contributions的问题
- Uva 1629 切蛋糕
- 深入理解Java:注解(Annotation)自定义注解入门
- android 多个imageview缩放,拖动
- 数据挖掘中的支持度 置信度 期望置信度 提升度
- activity中的fragment里面的detroy()方法中清理SharedPreferences文件的问题
- 定义了Shape,但是在LinearLayout中却显示不出来为什么啊?
- 洛谷2105 k皇后
- MySQL 从 5.5 升级到 5.6,启动时报错 [ERROR] Plugin 'InnoDB' init function returned error
- 和2016年的自己握手言和
- TProfiler
- 两个浮点数比较明明相等为啥还是会进if条件啊