Croc Champ 2013 - Round 2 (Div. 2 Edition)--C 字符串处理

2014-11-24 02:49:05 · 作者: · 浏览: 1

题意:两人各有一只由0,1组成的字符串,两人轮着从各自的串中先出一个数,取完后,看谁取到的1最多.


[cpp]
#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;
const int maxn=100000;

int main(){
int n; cin>>n;
string s,f; cin>>s>>f;
int x=0,y=0,z=0;
for(int i=0;i<2*n;++i){
if(s[i]=='1'&&f[i]=='0')x++;///上面1下面0
if(s[i]=='0'&&f[i]=='1')y++;///上面0下面1
if(s[i]=='1'&&f[i]=='1')z++;///上下都是0
}
if(z%2){///1对1的组数为奇数时
if(x+2==y||x+1==y)puts("Draw");///例11100000 和 111000
/// 10011110 100111 这俩种情况
else if(x+2 else if(x+2>y)puts("First");
}
else {
if(x+1==y||x==y)puts("Draw");///例:110000 1100
/// 001110 和 0011 两种情况
else if(x+1>y)puts("First");
else if(x+1 }
return 0;
}

#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;
const int maxn=100000;

int main(){
int n; cin>>n;
string s,f; cin>>s>>f;
int x=0,y=0,z=0;
for(int i=0;i<2*n;++i){
if(s[i]=='1'&&f[i]=='0')x++;///上面1下面0
if(s[i]=='0'&&f[i]=='1')y++;///上面0下面1
if(s[i]=='1'&&f[i]=='1')z++;///上下都是0
}
if(z%2){///1对1的组数为奇数时
if(x+2==y||x+1==y)puts("Draw");///例11100000 和 111000
/// 10011110 100111 这俩种情况
else if(x+2 else if(x+2>y)puts("First");
}
else {
if(x+1==y||x==y)puts("Draw");///例:110000 1100
/// 001110 和 0011 两种情况
else if(x+1>y)puts("First");
else if(x+1 }
return 0;
}