题目网址
https://ac.nowcoder.com/acm/contest/46800/A
附图
写的一般,参考即可
思路是
分别记录双方赢的场次
1.当双方比分差距超过3就没必要比了,直接结束
2.计算如果一方赢下接下来的所有比赛能不能赶上甚至超过对方,如果可以,继续执行循环;不行的话直接结束比赛
3.所有比赛结束,双方比分相等的话就打平,输出-1就行
#include <iostream>
using namespace std;
int main() {
int t,m,n,flag,mm,nn;
string a;
cin>>t;
while(t--){
m=0;n=0;flag=0;mm=0;nn=0;
cin>>a;
for(int i=0;i<=9;i++){
if(i%2==0){
if(a[i]=='1'){
m++;
}
mm++;
}else{
if(a[i]=='1'){
n++;
}
nn++;
}
if((m-n>=3||n-m>=3)&&i%2==1){
flag=i+1;
break;
}
if(m>n+5-nn||n>m+5-mm){
flag=i+1;
break;
}
}
if(m==n){
cout<<"-1"<<endl;
}else if(flag!=0){
cout<<flag<<endl;
}
}
}