Codeforces Round #671 (Div. 2)
A. Digit Game
问题分析:
n个数字,R只能删除任意奇数位的数字,B只能删除任意偶数位的数字
B先走,然后如果最后剩的 数字是奇数R赢了,否则B赢了
当n为奇数的时候 ,奇数位的数量是n/2+1; R先走,最后一定会剩下一个奇数位的数字
这时候只要 所有奇数位里 有一个 奇数就一定是 R赢得比赛
当n为偶数的时候,奇/偶位置都是n/2 而且R先走,最后一定会剩下一个 偶数位的数字
同理,偶数位有偶数 就一定是B赢
AC代码:
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<vector>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<sstream>
#include<algorithm>
using namespace std;
#define ll long long
#define mem(a,b) memset((a),(b),sizeof(a));
#define lowbit(a) ((a)&-(a))
const ll inf=0x3f3f3f3f;//1061109567,2*未超int,allinf=mem(a,0x3f,sizeof(a));
const int N=2e5+10;
ll a[32];
ll sum;
int main(){
// #define io
#ifdef io
freopen("in.txt","r",stdin);
#endif
cin.tie(0);
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int ro,bd;
ro=bd=0;
string s;
cin>>s;
for(int k=0;k<s.length();k++){
int x=s[k]-'0';
int i=k+1;
// cout<<i<<" "<<x<<"dddd"<<endl;
if(i%2){
if(x%2)
ro++;
}else{
if(!(x%2)) bd++;
}
}
if(n%2){
if(ro!=0)
cout<<1<<endl;
else cout<<2<<endl;
}else {
if(bd!=0)
cout