解題報告:
思路:
三種情況:第一種,有偶數,有奇數,只要留一個奇數,其他所有奇數轉爲偶數,所以是YES。
第二種,有偶數,無奇數,很顯然是NO。
第三種,無偶數,有奇數,這個時候看奇數個數,如果爲偶數,很顯然爲NO,反之爲YES。
代碼:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void solve(){
ll n;
ll even = 0, odd = 0;
scanf("%lld", &n);
for(ll i=0; i<n; ++i){
ll x;
scanf("%lld", &x);
if(x&1)++odd;
else ++even;
}
if(even > 0 && odd > 0)printf("YES\n");
else if(even > 0 && odd == 0)printf("NO\n");
else if(even == 0 && odd > 0){
if(odd&1)printf("YES\n");
else printf("NO\n");
}
}
int main(){
ll t;
scanf("%lld", &t);
while(t--){
solve();
}
return 0;
}