NYOJ--42--dfs--一笔画问题】的更多相关文章

#include <iostream> #include <stdio.h> #include <cstring> #include <algorithm> using namespace std; int f[1000]; int digree[1000]; int find(int x) { while(x!=f[x]) x=find(f[x]); return x; } void bing(int a,int b) { if(find(a)!=find…
一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来. 规定,所有的边都只能画一次,不能重复画.   输入 第一行只有一个正整数N(N<=10)表示测试数据的组数. 每组测试数据的第一行有两个正整数P,Q(P<=1000,Q<=2000),分别表示这个画中有多少个顶点和多少条连线.(点的编号从1到P) 随后的Q行,每行有两个正整数A,B(0…
http://acm.nyist.net/JudgeOnline/problem.php?pid=42 一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来. 规定,所有的边都只能画一次,不能重复画. 输入 第一行只有一个正整数N(N<=10)表示测试数据的组数. 每组测试数据的第一行有两个正整数P,Q(P<=1000,Q<=2000),分别表…
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42 欧拉回路,欧拉路径水题~ 代码: #include "stdio.h" // 欧拉图,半欧拉图 #include "string.h" //无向图存在欧拉路径的充要条件:连通且奇度顶点个数为2. //无向图存在欧拉回路的充要条件:连通且没有奇度顶点. #define N 1005 #define INF 0x3fffffff int set[N]; in…
题目链接 描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来. 规定,所有的边都只能画一次,不能重复画.   输入 第一行只有一个正整数N(N<=10)表示测试数据的组数.每组测试数据的第一行有两个正整数P,Q(P<=1000,Q<=2000),分别表示这个画中有多少个顶点和多少条连线.(点的编号从1到P)随后的Q行,每行有两个正整数A,B(0<A,B<P),表示编号为A和B的两点之间有连线. 输出 如果存在符合…
一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来. 规定,所有的边都只能画一次,不能重复画.   输入 第一行只有一个正整数N(N<=10)表示测试数据的组数.每组测试数据的第一行有两个正整数P,Q(P<=1000,Q<=2000),分别表示这个画中有多少个顶点和多少条连线.(点的编号从1到P)随后的Q行,每行有两个正整数A,B(0&l…
#include<cstdio> #include<cstring> ]; int find(int x) { if(visited[x]!=x) return find(visited[x]); return x; } void make(int a,int b) { int f1=find(a); int f2=find(b); if(f1!=f2) visited[f2]=f1; } int main() { ]; int n,m,i,j,x,y; while(scanf(&…
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42 我是参考了红黑联盟的结题报告了的.但是有一个位置,应该是红黑联盟写错了吧,就是那个连通性的定义这里. 欧拉定理: 1.图是连通的,每两个点之间要直接或者间接相连.(这里红黑联盟好像写错了) 2.奇点总和只能是0或2: 这里的dfs写的很巧妙,我就是在这里WA了,dfs(k)时,如果搜到一条边,然而只增加k这个的度,因为之后dfs(i)时,再加上i的度,而且不会访问k这个点. 之后,帆…
数独 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 数独是一种运用纸.笔进行演算的逻辑游戏.玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列.每一个3*3宫内的数字均含1-9,不重复. 每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的. 有一天hrdv碰到了一道号称是世界上最难的数独的题目,作为一名合格的程序员,哪能随随便便向困难低头,于是他决定编个程序来解决它..   输入 第一…
#include<stdio.h> #include<string.h> #define N 2100 int degree[N]; int pre[N];//很长时间没写欧拉回路了忘了判断他是否联通了 int find(int x) { if(x!=pre[x]) pre[x]=find(pre[x]); return pre[x]; } int main() { int t,n,m,i,ans,a,b,aa,bb; scanf("%d",&t); w…