题意
给定个硬币,其中
个朝上,
个朝下。
操作只能是翻转任意个硬币,可以不操作,问最后能否使所有硬币翻到正面/反面/都可以/都不行
思路
个硬币朝上,
个硬币朝下。
我们先假设,那么我要去尽可能翻转成一样的,肯定是选取
中的所有硬币,再带上
中的
个硬币,完成这次反转后,朝上的硬币数量为
,朝下的硬币数量为
。
而且这个过程是可逆的。
发现了吗,我们找到了很多相同的状态,也就是说,我们可以从全正面或者全反面状态逆推对应的状态。
我们会发现当是偶数的时候,无论正面和反面的数量是何种比例,都不影响,都可以全部翻到正面/反面。
而当是奇数的时候,这个就有讲究了,考虑多的那个一个数,如果多的那个数是奇数,那么就可以翻到奇数所在的面,否则就不能。
正 | 反 |
---|---|
a | b |
b-1 | a+1 |
a+2 | b-2 |
... | ... |
solution
t=int(input()) for _ in range(t): n,a,b=map(int,input().split()) if abs(a-b)%2==0:print('ALL') else: if a>b: if a%2==1:print('UP') else:print('DOWN') else: if b%2==1:print('DOWN') else:print('UP')