jzoj5980. 【WC2019模拟12.27】字符串游戏

首先发现双方可以有一个默契,不管谁刻意,都可以把串变为诸如\(...101010101...\)的形式
所以先手要赢的话就是要在上面的基础之上加一个字符使其变为要求的子串
那么就是要求的子串中相邻两个位置不等的对数不能大于\(1\)

//minamoto
#include<bits/stdc++.h>
#define R register
#define fp(i,a,b) for(R int i=a,I=b+1;i<I;++i)
#define fd(i,a,b) for(R int i=a,I=b-1;i>I;--i)
#define go(u) for(int i=head[u],v=e[i].v;i;i=e[i].nx,v=e[i].v)
using namespace std;
const int N=1005;
char s[N];int n,res;
void solve(){
	scanf("%s",s+1),n=strlen(s+1),res=0;
	fp(i,2,n)if(s[i]==s[i-1]&&(++res>1))return (void)(puts("Owaski"));
	puts("Zhangzj");
}
int main(){
//	freopen("testdata.in","r",stdin);
	freopen("chaine.in","r",stdin);
	freopen("chaine.out","w",stdout);
	int T;scanf("%d",&T);
	while(T--)solve();
	return 0;
}
posted @ 2018-12-28 16:42  bztMinamoto  阅读(224)  评论(0编辑  收藏  举报
Live2D