CF469A I Wanna Be the Guy 题解
Content
小 A 和小 B 正在玩一个游戏,游戏一共有 \(n\) 关,而两个人各只能通过 \(p_A,p_B\) 个关卡。问他们能否通过合作通关这个游戏。
数据范围:\(1\leqslant n\leqslant 100,0\leqslant p_A,p_B\leqslant n\)。
Solution
这题目和 CF615A 几乎一模一样,而且还弱化了,只有两组,那题最多有 \(100\) 组……
呃,扯远了,拉回正题。这里我们发现,只要两个人能通过的关卡包括所有的关卡那就可以通关,否则不能通关。因此,我们需要开个 \(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;
}