CF1951

学贵坚持發表於2024-04-10

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;
	
}