A
link
這個題就是討論。
首先,如果沒有\(1\)就一定可以。
如果有\(1\)。
如果長度為\(2\)一定不行。
\(1\)的個數為奇數不行。
如果為偶數
有一個小點:如果是\(2\)個\(1\)且連在一起,不行,因為不能開相鄰的。
點選檢視程式碼
#include<bits/stdc++.h>
using namespace std;
int t;
int n;
char a[55];
void qwq(){
cin >> n;
int g = 0;
for(int i = 1;i <= n;++ i){
cin >> a[i];
if(a[i] == '1') g++;
}
if(g == 0) cout << "YES\n";
else{
if(n == 2) cout << "NO\n";
else{
if(g%2) cout << "NO\n";
else{
if(g == 2){
for(int i = 1;i <= n;++ i){
if(a[i] == '1'&&
a[i-1] == '1'){
cout << "NO\n";
return;
}
}
cout << "YES\n";
}
else cout << "YES\n";
}
}
}
}
signed main(){
cin >> t;
while(t--) qwq();
return 0;
}