B. Game with Telephone Numbers Educational Codeforces Round 63 (Rated for Div. 2)
原创
©著作权归作者所有:来自51CTO博客作者nuoyanli的原创作品,请联系作者获取转载授权,否则将追究法律责任
题意:
给定字符串,两人游戏轮流删除一个字符,谁先让字符串长度为11且第一个是8即获胜。问先手是否必胜。
思路:0到n-10之间的8的数量大于可移除的数量/2即YES否则NO
参考代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<cmath>
#define lson l,mid,root<<1
#define rson mid+1,r,root<<1|1
#define ll long long
const int inf = 0x3f3f3f3f;
const int N=1000000+1;
using namespace std;
int main()
{
int n;
cin>>n;
string a;
cin>>a;
int num=n-10;
int id=0;
for(int i=0;i<num;i++)
{
if(a[i]=='8')
id++;
}
if(id>num/2)
printf("YES\n");
else
printf("NO\n");
return 0;
}