牛客网 NC200611 F-参赛#
目录#
1. 题目描述#
1.1. Limit#
Time Limit: 1000 ms
Memory Limit: 262144 kB
1.2. Problem Description#
jx队长半夜@小胖:你快出一道签到题呀,简单点的,不行打你啊。小胖吓得赶紧下床想题,边想边和jx队长吹水,想起了参加acm的种种经历。有感而发和jx队长说了想法之后,jx队长:你这什么题意,不行啊太难了,我来改。一顿争辩之后小胖折服了,内心:jx队长牛逼。jx队长:睡吧睡吧,找时间请你喝奶茶。
众所周知:icpc赛制中,一支队伍由三个队员和一个教练组成,一个教练可以兼任多个队伍的教练;天梯赛赛制中,一支队伍由十个队员组队和一个教练组成,一个教练可以兼任多个队伍的教练;同时,一个队员可以同时参与两种比赛,但不能同时参与同一比赛的不同队伍。
如果参赛队的Q群里教练和队员的人数共有 人,参赛队是否刚好所有人都能同时组成队伍参赛?
1.3. Input#
多测试用例
每组测试用例一行,包括一个整数 ,表示群内的人数有 人
1.4. Output#
对于每组测试用例
如果所有人都能同时参加两种比赛,请输出 All
;
如果所有人都能同时参加icpc但不能同时参加天梯赛,请输出 First
;
如果所有人都能同时参加天梯赛不能同时参加icpc,请输出 Second
;
否则请输出 No
。
1.5. Sample Input#
11
7
9
10
100
1.6. Sample Output#
All
First
No
First
First
1.7. Source#
1.8. Notes#
11可以分为 一支天梯赛的队伍和一个教练 或者 三支icpc的队伍和两个教练,所以输出All
。
7只能分为 两支icpc的队伍和一个教练,所以输出First
。
2. 解读#
如果 ,可以参加天梯赛,如果 ,可以参加icpc。
还有一种情况是 且 ,这种情况可以结合上一条规则,简化为 ,可以参加天梯赛
对 3 也是类似的,,可以参加icpc。
3. 代码#
#include <algorithm>
#include <iostream>
#include <math.h>
const long long num = 1e6 + 1;
using namespace std;
long long list[num];
int main()
{
long long n, m;
string ans;
long long sum = 0;
long long num10, buffer10;
long long num3, buffer3;
bool mark10, mark3;
// 计算
while (scanf("%lld", &n) != EOF) {
num10 = floor(n / 10);
num3 = floor(n / 3);
buffer10 = n % 10;
buffer3 = n % 3;
if ((buffer10 <= num10 && buffer10 > 0) || n >= 110) {
mark10 = true;
} else {
mark10 = false;
}
if ((buffer3 <= num3 && buffer3 > 0) || n >= 12) {
mark3 = true;
} else {
mark3 = false;
}
if (mark10 && mark3) {
ans = "All";
} else if (mark10) {
ans = "Second";
} else if (mark3) {
ans = "First";
} else {
ans = "No";
}
printf("%s\n", ans.c_str());
}
}
联系邮箱:curren_wong@163.com
Github:https://github.com/CurrenWong
欢迎转载/Star/Fork,有问题欢迎通过邮箱交流。