英语不好的人,看题表示不懂
题意:
就是有n个点,完美匹配,就是每两个点之间有且只有一条连线。
形如:0-0 0-0 0-0
所以若
n为奇数===》no
n为偶数===》每个1之前都有剩余的2配对===》yes
===》多个1没有2配对==========》no
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
int t,n,m;
cin>>t;
while(t--){
int sum2=1;//sum2必须在1之前 a[1]的点默认是2的操作
cin>>n;
for(int i=2;i<=n;i++){
cin>>m;
if(m==1){
if(sum2>0)sum2--;
else sum2++;//令最后他不能成功匹配完
//没有能和这个1匹配的2
//我们默认这个样例就是错的,使他永远不能为0
}
else sum2++;
}
if(n%2==1)printf("No\n");
else {
if(sum2==0)printf("Yes\n");
else printf("No\n");
}
}
return 0;
}