题解 | #A World Final? World Cup! (I)#2023牛客寒假算法基础集训营1

World Final? World Cup! (I)

https://ac.nowcoder.com/acm/contest/46800/A

A World Final? World Cup! (I)

写的一般,参考即可

思路是

分别记录双方赢的场次

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;
        }
    }
}


class HelloWorld {
    public static void main(String[] args) {
        System.out.println("还没写,反正也差不多"); 
    }
}
编程比赛题解 文章被收录于专栏

各类编程比赛题解

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 12:22
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
牛客92804383...:在他心里你已经是他的员工了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务