1134. Vertex Cover (25)
来源:互联网 发布:同花顺炒股交易软件 编辑:程序博客网 时间:2024/06/12 00:40
1134. Vertex Cover (25)
A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex of the set. Now given a graph with several vertex sets, you are supposed to tell if each of them is a vertex cover or not.
Input Specification:
Each input file contains one test case. For each case, the first line gives two positive integers N and M (both no more than 104), being the total numbers of vertices and the edges, respectively. Then M lines follow, each describes an edge by giving the indices (from 0 to N-1) of the two ends of the edge.
After the graph, a positive integer K (<= 100) is given, which is the number of queries. Then K lines of queries follow, each in the format:
Nv v[1] v[2] ... v[Nv]
where Nv is the number of vertices in the set, and v[i]'s are the indices of the vertices.
Output Specification:
For each query, print in a line "Yes" if the set is a vertex cover, or "No" if not.
Sample Input:10 118 76 84 58 48 11 21 49 89 11 02 454 0 3 8 46 6 1 7 5 4 93 1 8 42 2 87 9 8 7 6 5 4 2Sample Output:
NoYesYesNoNo
解题思路:
y条边以下标0~y-1的顺序依次输入,用二维数组(列长为2)将每条边的两个端点编号进行记录。
每次flag初始为1,vis数组元素全部指向0,。输入一组端点编号,将与编号相对的vis数组下标元素设为1。
接着,把y条边(0-y-1)依次遍历。若有一条边的两个端点编号均不属于输入的端点编号,则表明没有完全覆盖。此时,用flag=0做标记,跳出循环。
flag=1,输出Yes,否则,输出No。
我的代码:
#include<stdio.h>#include<memory.h>int main(){int x,y,z,i,n,m,a[10001][2],vis[10001];scanf("%d%d",&x,&y);for(i=0;i<y;i++) scanf("%d%d",&a[i][0],&a[i][1]);scanf("%d",&z);while(z--){scanf("%d",&n);memset(vis,0,sizeof(vis));int flag=1;while(n--){scanf("%d",&m);vis[m]=1;}for(i=0;i<y;i++){if(vis[a[i][0]]==0 && vis[a[i][1]]==0){flag=0;break;}}if(flag==0) puts("No");else puts("Yes");}return 0;}
- 1134. Vertex Cover (25)
- 1134. Vertex Cover (25)
- 1134. Vertex Cover (25)
- 1134. Vertex Cover (25)
- 1134. Vertex Cover (25)
- 1134. Vertex Cover (25)
- 1134. Vertex Cover (25)
- 1134. Vertex Cover (25)
- PAT甲级 1134. Vertex Cover (25)
- PAT甲级1134. Vertex Cover (25) 题解
- 1134. Vertex Cover (25)[图的遍历]
- PAT 甲级 1134. Vertex Cover (25)
- pat 1134. Vertex Cover (25) 思维
- 1134. Vertex Cover (25)-PAT甲级真题
- 1134. Vertex Cover (25)(最小点集覆盖)
- Vertex Cover
- Vertex Cover
- Vertex Cover
- AVL树的创建
- 插入最少的字符使字符串成为回文串
- 计数排序
- 模板:kruskal
- P4876 近似排列计数
- 1134. Vertex Cover (25)
- Secret Origins
- 安卓开发-ListView的适配器和监听器/ExpandableListView的使用
- Android 试题滑动刻度尺--自定义View
- c#调用C/C++代码时出现的PInvokeStackImbalance异常实例及解决方式
- 【LeetNode2-1-7】Two sum--C++源代码(VS2015)
- MongodbTemplate的增删改操作
- [LeetCode] 19. Remove Nth Node From End of List
- 2017/10/05 明天就回去了..