Home_W的握手问题(思维+打表)


解题思路:拿到此题,我的第一反应就是打表找规律,我们可以很轻松的找到n在[1,6]情况下,存在的k平衡握手

n 存在的k
1 0
2 0,1
3 0,2
4 0,1,2,3
5 0,2,4
6 0,1,2,3,4,5
7 0,2,4,6

 
于是我们可以很明显的观察出,当n为奇数和n为偶数的时候,存在的k平衡握手的规律是不一样的
1> 当n为偶数的时候,k的选取可为[0,n-1]
 
2> 当n为奇数的时候,k的选取只能是[0,n-1]的偶数
 
注意:无论当n为奇数还是偶数都是建立在n>k的情况下的,当n<k的时候,不存在k平衡握手规律
Code:

#include<cstdio>
int n,k,t;main()
{
	scanf("%d",&t);
	while(t--) {
		scanf("%d%d",&n,&k);
		if(n%2) {
			if(k >= 0 && k % 2 == 0 && n > k)
				puts("1");
			else
				puts("0");
		}
		else {
			if(k >= 0 && n > k)
				puts("1");
			else
				puts("0");
		}
	}
}
原文地址:https://www.cnblogs.com/Mangata/p/14342174.html