HDU 6029 Graph Theory【水题】
来源:互联网 发布:上海大数据产业联盟 编辑:程序博客网 时间:2024/06/05 13:29
Graph Theory
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 448 Accepted Submission(s): 216
Problem Description
Little Q loves playing with different kinds of graphs very much. One day he thought about an interesting category of graphs called ``Cool Graph'', which are generated in the following way:
Let the set of vertices be {1, 2, 3, ...,n }. You have to consider every vertice from left to right (i.e. from vertice 2 to n ). At vertice i , you must make one of the following two decisions:
(1) Add edges between this vertex and all the previous vertices (i.e. from vertex 1 toi−1 ).
(2) Not add any edge between this vertex and any of the previous vertices.
In the mathematical discipline of graph theory, a matching in a graph is a set of edges without common vertices. A perfect matching is a matching that each vertice is covered by an edge in the set.
Now Little Q is interested in checking whether a ''Cool Graph'' has perfect matching. Please write a program to help him.
Let the set of vertices be {1, 2, 3, ...,
(1) Add edges between this vertex and all the previous vertices (i.e. from vertex 1 to
(2) Not add any edge between this vertex and any of the previous vertices.
In the mathematical discipline of graph theory, a matching in a graph is a set of edges without common vertices. A perfect matching is a matching that each vertice is covered by an edge in the set.
Now Little Q is interested in checking whether a ''Cool Graph'' has perfect matching. Please write a program to help him.
Input
The first line of the input contains an integer T(1≤T≤50) , denoting the number of test cases.
In each test case, there is an integern(2≤n≤100000) in the first line, denoting the number of vertices of the graph.
The following line containsn−1 integers a2,a3,...,an(1≤ai≤2) , denoting the decision on each vertice.
In each test case, there is an integer
The following line contains
Output
For each test case, output a string in the first line. If the graph has perfect matching, output ''Yes'', otherwise output ''No''.
Sample Input
3212241 1 2
Sample Output
YesNoNo
Source
2017中国大学生程序设计竞赛 - 女生专场
问题:
有n个点,1表示当前点与之前所有点连一条边,2表示不动,问通过选出其中的某些边,能否使所有的点都能够有一个点与其配对。
思路:
用cnt表示前面有多少个未配对的点,
如果前面有未配对的点则,若操作为1,,则cnt--,若操作为2则cnt++
如果前面所有的点都匹对成功则,若操作为1,,则cnt=1(因为前面没有点与其配对),若操作为2则cnt++
#include<iostream>#include<algorithm>#include<cmath>#include<cstdio>#include<cstdlib>#include<queue>#include<map>#include<set>#include<stack>#include<bitset>#include<numeric>#include<vector>#include<string>#include<iterator>#include<cstring>#include<ctime>#include<functional>#define INF 0x3f3f3f3f#define ms(a,b) memset(a,b,sizeof(a))#define pi 3.14159265358979#define mod 1000000007#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1using namespace std;typedef pair<int, int> P;typedef long long ll;typedef unsigned long long ull;const int maxn = 100010;int n, a[maxn];int main(){int t;scanf("%d", &t);while (t--){int cnt = 1;scanf("%d", &n);for (int i = 2; i <= n; i++){scanf("%d", a + i);}if (n % 2 != 0) puts("No");else{for (int i = 2; i <= n; i++){if (a[i] == 1){if (cnt == 0) cnt = 1;else cnt--;}else cnt++;}if (cnt > 0) puts("No");else puts("Yes");}}}
阅读全文
0 0
- HDU 6029 Graph Theory【水题】
- HDU 6029 Graph Theory
- HDU 6029 Graph Theory
- HDU 6029 Graph Theory
- HDU 6029 Graph Theory
- hdu 6029 Graph Theory
- HDU 6029 Graph Theory
- hdu 6029 Graph Theory(贪心)
- hdu 6029 Graph Theory 思维
- hdu 6029 Graph Theory 【直接连线】
- HDU 6029 Graph Theory(思路题)
- Graph Theory HDU
- hdoj 6029 Graph Theory
- 2017CCPC女生赛 hdu 6029 Graph Theory
- (HDU 6029 女生专场)Graph Theory 思维题
- HDU---6029 Graph Theory 【二分图匹配思想相关运用】
- Graph Theory
- Graph Theory
- C#属性访问器
- 选择不相交区间
- AndroidManifest官方文档
- SpringBoot启动服务的三种方式
- Caffe学习-手写数字识别
- HDU 6029 Graph Theory【水题】
- 文章标题
- ubuntu下sublime安装
- STM8S_008_WDG独立看门狗和窗口看门狗
- 【数据挖掘】【笔记】之sklearn.ensemble
- tt2
- 希尔排序
- 删除字符串中的元音字母
- 智能一代云平台(三十):逆向工程生成mybatis