文章目錄
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());
}
}
聯繫郵箱:[email protected]
Github:https://github.com/CurrenWong
歡迎轉載/Star/Fork,有問題歡迎通過郵箱交流。