Hdu 1878
来源:互联网 发布:剑三2016成女捏脸数据 编辑:程序博客网 时间:2024/06/05 15:59
欧拉回路
题意:若是欧拉回路,输出1,否则输出0
分析:先深搜判断是不是属于一个联通分支;再判断奇度数的节点是否为0.
AC代码:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <vector>#include <algorithm>using namespace std;using std::vector;const int MAXN = 1005;bool vis[MAXN];int deg[MAXN];vector<int > v[MAXN];void Init() { memset(vis, 0, sizeof(vis)); memset(deg, 0, sizeof(deg)); memset(v, 0, sizeof(v));} void DFS(int x) { vis[x] = 1; for(int i = 0; i < v[x].size(); i++) { int n = v[x][i]; if(!vis[n]) DFS(n); }}bool ADJ(int n) { for(int i = 1; i <= n; i++) { if(!vis[i]) return false; } return true;}bool EULER(int n) { for(int i = 1; i <= n; i++) { if(deg[i] % 2 != 0) return false; } return true;}int main() { int n, m; while(scanf("%d%d", &n, &m)!=EOF && n) { Init(); int a, b; for(int i = 1; i <= m; i++) { scanf("%d%d", &a, &b); deg[a]++; deg[b]++; v[a].push_back(b); v[b].push_back(a); } DFS(a); if(ADJ(n) && EULER(n)) printf("1\n"); else printf("0\n"); } return 0;}
- hdu 1878
- Hdu 1878
- hdu 1878
- HDU 1878
- hdu 1878
- hdu 1878
- hdu 1878 hdoj 1878
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- nginx 常用
- java applet调用客户端dll 简单案例
- 怎样才能常常保持好心情
- LINUX内核设计与实现之调试
- Django 学习笔记(2)
- Hdu 1878
- select初始化
- 算法实战4:逃跑问题Escape
- SOLIDWORKS高效建模实例(二)
- C语言文件读写函数介绍
- 栈的创建入栈出栈
- 孙鑫vc++深入详解第一节问题:Unicode与ASCII
- SQLite3数据库Native C++封装类(Unicode)CppSQLite3U的初步认识与使用
- linux 基础学习总结