题意:有n对数,大小分别为1、2、3、...、n。问是否存在这个样的排列,两个1之间有1个数,两个2之间有2个数,两个3之间有3个数,。。。。。。,两个n之间有n个数,
另外数的次序可以随意。
解法:分析:
如果要满足题意,只需ak,bk都为整数。方程有解说明有很多排序情况,有些不符合要求,但一定有一组满足要求,我们列式的时候把这种情况也列进去了,有解,说明我们要的这种特殊情况存在。
#include<iostream> using namespace std; int main() { int N; while(cin>>N &&N) { if(N%4==0 ||((3*N-1)%4==0 && (N+1)%4==0)) puts("Y"); else puts("N"); } return 0; }
原文地址:http://blog.csdn.net/a809146548/article/details/45197905