Bulbs

来源:互联网 发布:网络摄监控系统图 编辑:程序博客网 时间:2024/05/21 08:50
Description
Vasya wants to turn on Christmas lights consisting of m bulbs. Initially, all bulbs are turned off. There are n buttons, each of them is connected to some set of bulbs. Vasya can press any of these buttons. When the button is pressed, it turns on all the bulbs it's connected to. Can Vasya light up all the bulbs?

If Vasya presses the button such that some bulbs connected to it are already turned on, they do not change their state, i.e. remain turned on.

Input
The first line of the input contains integers n and m (1 ≤ n, m ≤ 100) — the number of buttons and the number of bulbs respectively.

Each of the next n lines contains xi (0 ≤ xi ≤ m) — the number of bulbs that are turned on by the i-th button, and then xi numbers yij (1 ≤ yij ≤ m) — the numbers of these bulbs.

Output
If it's possible to turn on all m bulbs print "YES", otherwise print "NO".

Sample Input
Input
3 4
2 1 4
3 1 3 1
1 2
Output
YES
Input
3 3
1 1
1 2
1 1
Output
NO
Hint

In the first sample you can press each button once and turn on all the bulbs. In the 2 sample it is impossible to turn on the 3-rd lamp.

#include<stdio.h>int main(){int a,b,i,g,j,f,k,sum;int c[100],s[100][100];while(scanf("%d%d",&a,&b)!=EOF){g=0;f=0;for(i=0;i<a;i++){scanf("%d",&c[i]);for(j=0;j<c[i];j++)scanf("%d",&s[i][j]);}for(i=0;i<a;i++)f+=c[i];for(k=1;k<=b;k++){sum=0;for(i=0;i<a;i++){for(j=0;j<c[i];j++){if(s[i][j]!=k)sum++;}}if(sum==f) g++;}if(g!=0)printf("NO\n");elseprintf("YES\n");}return 0;}


0 0
原创粉丝点击