专栏文章
题解:CF2147C Rabbits
CF2147C题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @minkta0p
- 此快照首次捕获于
- 2025/12/02 04:02 3 个月前
- 此快照最后确认于
- 2025/12/02 04:02 3 个月前
赛时未通过。
但是个人感觉就是纯思维题,做这种题目思维要打开。
我们思考兔子怎么才不能跳到花坛,对于这样偶数个 的子串,我们可以构造两个兔子面对面,对于 ,我们可以构造两个兔子往一个花坛里面跳。
那么也就是说我们可以快速判断两个兔子是否合法,具体的我们可以找这种 交替模式的子字符串,判断该子字符串具有奇数个零。
CPP#include<bits/stdc++.h>
//#define int long long
#define rep(i,l,r) for(int i=l;i<=r;++i)
#define per(i,r,l) for(int i=r;i>=l;--i)
using namespace std;
void solve(){
string s;
int n; cin>>n; cin>>s;
int len=s.size();
for(int i=0,j;i<len;i=j+1){
j=i;
for(;j+1<len&&s[j]!=s[j+1];++j);
if(s[j]=='1'&&s[i]=='1'&&(((j-i)/2)&1)){
cout<<"NO\n"; return;
}
// cout<<j<<' ';
}
cout<<"YES\n";
}
signed main() {
int Q; cin>>Q;
for(;Q;--Q){
solve();
}
return 0;
}
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...