CF1899A Game with Integers(思维题)

题目链接

题目

CF1899A Game with Integers(思维题)_第1张图片

题目大意

t 组测试样例
每组给一个正整数 n,
有两种操作:

  1. +1
  2. -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
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;
}

总结

有趣的思维题

你可能感兴趣的:(CF,思维题,算法)