2023牛客寒假算法基础集训营1 A题
原题链接

题解
首先创建变量 cnt1 ,cnt2 这个用来计算得分
a,b变量用于记录 A组和B组各自已经点球的次数
flag变量用于记录提前结束点球的局数
#include <bits/stdc++.h>
using namespace std;
int main(){
int cnt1,cnt2,n,flag=0,a,b;
cin>>n;
string string1;
while (n--){
cnt1=cnt2=a=b=flag=0;
cin>>string1;//输入一局点球情况
for(int i=0;i<10;i++){
//偶数即为A队 否则是B队
if(i%2==0){
if(string1[i]=='1') cnt1++;
a++;
}
else {
if(string1[i]=='1')cnt2++;
b++;
}
if(cnt1>cnt2+5-b||cnt2>cnt1+5-a){
//如果 两数相差大于(5-对应的已经比过的局数) 也就是 假设后面全赢所能得的分数 说明已经追不上了
flag=i+1;
break;
}
}
if(cnt1==cnt2)cout<<"-1"<<endl;
else if(flag!=0){
cout<<flag<<endl;
}
}
}

浙公网安备 33010602011771号