文章目录
博弈论合集
1.题目链接
题目大意:给一个字符串 s ,两者分别取字符到一个空串t,但要保证字符串 t 始终是串s 的子序列
示例:asdfghdf
可以知道取到最后一个 f 并且前面没有相同的 f 的时候,必胜,则asd(fghd)【f】
()里面的是必输区,如果你取了里面的,下一个人取最后一个【f】就必胜,同理()前的第一个字符也是必胜区,只要取到这个字符,下一个人就只能取必败区的字符,如果下一个人取了最后一个f,但是前面有个f,所以也是必败的;若第一个字符就在必败区,则小红必败
#include<bits/stdc++.h>
#define ll long long
#define PI 3.141592653589793
#define E 2.718281828459045
#define HalF (l + r)>>1
#define lsn rt<<1
#define rsn rt<<1|1
#define Lson lsn, l, mid
#define Rson rsn, mid+1, r
#define QL Lson, ql, qr
#define QR Rson, ql, qr
#define myself rt, l, r
#define mem(a,b) memset(a,b,sizeof(a))
#define FOR( i , a , b ) for ( int i = a ; i <= b ; ++ i )
#define FO( i , n ) for ( int i = 0 ; i < n ; ++ i )
#define lowbit(a) ((a)&-(a))
typedef unsigned long long ull;
const ll mod=10007;
const ll INF=0x3f3f3f3f;
const ll Max=1e7+10;
using namespace std;
ll t,n,m,l;
/*queue<ll> q;
stack<ll> s;
//升序队列
priority_queue <int,vector<int>,greater<int> > q;
//降序队列
priority_queue <int,vector<int>,less<int> >q;*/
int main()
{
ios::sync_with_stdio(false);
string s;
cin>>s;
l=s.size();
ll i,j=l-1;
for(i=j-1;i>=0;i--)
if(s[j]==s[i])
j=i-1,i=j;
if(j==-1)cout<<"yukari"<<endl;
else cout<<"kou"<<endl;
return 0;
}