为什么我第一个案例在·本地编译器上是对的,oj上就过不了
查看原帖
为什么我第一个案例在·本地编译器上是对的,oj上就过不了
546520
adfhuiau155楼主2021/8/27 11:26
#include<bits/stdc++.h>
using namespace std;
string to_palindrome(string s){
	string sd;
	for(int j=s.size()-1;j>=0;j--){
		sd.push_back(s[j]);
	}
	return sd;
}
int T,n;
int main(){
	scanf("%d",&T);
	int a[2];
	string s;
	while(T--){
		scanf("%d",&n);
		memset(a,0,sizeof(a));
		cin>>s;
		fflush(stdin);
		int flag=0,num=0;
		if(find(s.begin(),s.end(),'0')==s.end()){
			printf("DRAW\n");
			continue;
		}
		while(find(s.begin(),s.end(),'0')!=s.end()){
			if(s!=to_palindrome(s)&&flag==0){
				s=to_palindrome(s);
				flag=1;num++;
			}
			else{
				*find(s.begin(),s.end(),'0')='1';
				a[num%2]++;
				num++;
				flag=0;
			}
		}
		if(a[0]>a[1]){
			printf("BOB\n");
		}
		else if(a[0]<a[1]){
			printf("ALICE\n");
		}
		
	}
}
2021/8/27 11:26
加载中...