CF615A Bulbs 题解

Content

有 \(n\) 个灯,一开始它们都是关着的。有 \(m\) 个按钮,每个按钮可以开 \(k\) 盏灯。求能否通过这 \(m\) 个按钮使得所有灯全部都开着。

数据范围:\(1\leqslant n,m\leqslant100,k\leqslant n\)。

Solution

只要所有的按钮按下去能使所有灯开那就可以使所有灯开,否则一定不能使所有灯开。因此,我们需要开个 \(vis\) 数组,来存储每个按钮开的灯,最后看是否把所有的灯都开了。

Code

#include <cstdio>
using namespace std;

int n, m, k, x, vis[107];

int main() {
	scanf("%d%d", &m, &n);
	for(int i = 1; i <= m; ++i) {
		scanf("%d", &k);
		for(int j = 1; j <= k; ++j)	{
			scanf("%d", &x);
			vis[x] = 1;
		}
	}
	for(int i = 1; i <= n; ++i)	if(!vis[i])	return printf("NO"), 0;
	return printf("YES"), 0;
}
上一篇:按顺序播放ply文件


下一篇:SP1798 ASSIST - Assistance Required 题解