目录
题目链接
A-World Final? World Cup! (I)_2023牛客寒假算法基础集训营1 (nowcoder.com)
一些话
平时写的少了,简单模拟都没写出来
目前猜测模拟题一个重要的点是拆解题目,列出要点,再开始写代码;
比赛写的时候我是直接上手写了,wa后再枚举情况,结果不知道是不是枚举漏了
反正模拟题别枚举,容易漏
流程
用变量记录下每个点球后两队的情况就好了
即得分与剩余点球次数,根据这个就可以判断胜负情况,
再有一个bool记录下是否打平
套路
1.字符串改下标读入(1-n) 一个题解里用到的套路,可以减少大脑工作量
char s[N]
cin >> s + 1;
ac代码
#include <iostream>
using namespace std;
int main(){
int t;
cin >> t;
while(t--){
bool flag = false;
int c1,c2,l1,l2;
c1 = c2 = 0;
l1 = l2 = 5;
char s[15];
cin >> s + 1;
for(int i = 1;i <= 10;i ++){
if(i % 2== 1){
l1--;
if(s[i] == '1') c1++;
}
else{
l2--;
if(s[i] == '1') c2 ++;
}
if(c1 - c2 > l2 || c2 - c1 > l1) {
printf("%d\n",i);
flag = true;
break;
}
}
if(!flag){
printf("-1\n");
}
}
return 0;
}