题目链接
题目
题目大意
t 组测试样例
每组给一个正整数 n,
有两种操作:
- +1
- -1
A 和 B 轮流操作,
如果这个整数变成了一个能被3整除的数,A赢,输出First
如果在10次操作以内,n不能被3整数,B赢,输出Second
思路
A 会尽力使数能被3整除,B 会尽力使数不能被 3 整除。
- 如果n本身能被 3 整除,a操作后,就不能了,b继续维持a的操作,A再动,B只用做和A相反的数,就可以维持这个不被3整除的数了
- 如果A操作1次被3整除,A就赢了
-
- 如果A操作1次不能被3整除,B就维持原数,A就不能赢
也就是说,如果A能操作1次就赢,他就赢了,否则永远不会赢
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t; cin >> t;
while (t -- )
{
int n;
cin >> n;
if ((n + 1) % 3 == 0 || (n - 1) % 3 == 0)
{
cout << "First" << endl;
}
else
{
cout << "Second" << endl;
}
}
return 0;
}
总结
有趣的思维题