Solve Everything :-) 题解

|| 题目传送门 ||

题意简述

\(S\) 个问题集,每个问题集都有 \(13\) 个问题。现在给出一些问题集的预测,对于每个问题集,求是否可以考虑该问题集,以便该问题集中的每个问题都可以由至少一个团队解决。

输入的第一行由一个整数 \(S\) \((S≤ 23)\) 组成,即问题集的数量,其中有 \(13\) 个问题。接下来的 \(S\) 行中的每一行都由 \(13\) 个空格分隔的整数组成,这是预测的解决每个问题的团队数量。

对于每个问题集,输出一行格式为 Set #N:Ans。这里 N 是一个整数,它是集合的序列号。Ans 是你的答案,要么是 Yes,要么是 No

题目分析

这道题看似很难理解,实则并没有想象中那么难。这道题实际要做的,就是看预测的问题集中的每个问题是否可以由至少一个团队解决。

用通俗一点的话来讲,就是看一个数列中是否不含有 \(0\)。如果没有 \(0\),就输出 Yes,否则输出 NO。现在就可以清晰地完成这道题了。

但是,这里还要注意,
在输出时,要注意输出格式是 Set #N:Ans(建议复制),注意中间的空格。(这算是这道题的坑点)

参考代码

#include<bits/stdc++.h>
//#define int long long  不需要long long 就注释掉 
#define fast_running ios::sync_with_stdio(false),std::cin.tie(0),std::cout.tie(0);
using namespace std;
signed main() {
	fast_running;  //稍稍加个速 
	int T;   //问题集数量。 
	cin >> T;
	for (int step = 1; step <= T; step++) {  //第几个问题集。 
		int flag = 1, f;
		for (int i = 1; i <= 13; i++) {
			cin >> f;
			if (f == 0) flag = 0;
			//输入一个数看一个数,如果为 0,直接标记不符合要求。 
		}
		cout << "Set #" << step << ": "; //先输出前面的问题集序号。 
		if (flag == 1) cout << "Yes\n";
		else cout<<"No\n";
		//再输出问题的具体答案。 
	}
	return 0;
}

~ 完结撒花 ~

注意事项:此题解由本人完全原创,此题解仅是同步贴。
posted @ 2025-03-07 18:08  绪风ﺴﻬৡ  阅读(30)  评论(0)    收藏  举报