AcWing 3726. 调整数组
原题链接
简单
作者:
守拙.
,
2023-03-19 13:29:50
,
所有人可见
,
阅读 29
//【法1】
#include<iostream>
#include<algorithm>
using namespace std;
const int N=110;
int a[N];
int n;
int main()
{
int t;
cin >> t;
while (t -- )
{
cin >> n;
int maxa = 0;
for (int i = 1; i <= n; i ++ )
{
cin >> a[i];
maxa = max(maxa, a[i]);//找出最大值
}
bool flag = true;
for (int i = 1; i <=n ; i ++ )
if ((maxa-a[i])&1)//只要有一个数与这组数中的最大值相差为奇数就不可能了
flag = false;
if (flag) puts("YES");
else puts("NO");
}
return 0;
}
----------
//【法2】
//由于奇数加2不会变成偶数 偶数加2不会变成奇数
//因此可继续简化:
//只要偶数和奇数同时存在,就永远不可能相等
//故只需要统计奇数和偶数的个数就可以了