Magical Bamboos

#include<stdio.h>
#include<algorithm>
using namespace std;
bool cmp(int a,int b)
{
    return a>b;
}
const int MAXN =1e5+10;//以后请这样定义数组。不要问为什么。b格高吧应该
int arr[MAXN];
int main()
{
    int t;
    scanf("%d",&t);
    while (t--)
	{
        int n;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
		 scanf("%d",&arr[i]);
        sort(arr,arr+n,cmp);
        int flag=1;
        for(int i=1;i<n;i++)
		{
            if((arr[i]-arr[i-1])&1)//这里是有规律的,如何任意两数之差为奇数,则不可能。
			 {
                flag=0;
			    break;
             }
        } 
        if(flag)
		  puts("yes");
        else 
		  puts("no");
    }
    return 0;
}

思路:一般这种题都有明确的规律,多列几组找找规律即可。