模拟算法乒乓球

P1042 [NOIP 2003 普及组] 乒乓球

复制代码
#include<bits/stdc++.h>
using namespace std;
string s;

void solve(int num,string s)
{
     int a=0;//比分a
    int b=0;//比分b
    for(char c:s)
    {
        if(c=='W') a++;
        if(c=='L') b++;
        if(max(a,b)>=num&&abs(a-b)>=2)
        {
            cout<<a<<":"<<b<<endl;
            a=0;
            b=0;
        }
    }
      cout<<a<<":"<<b<<endl;
    return;
}
int main()
{
    char c;//一个一个输入字符
   
   while(cin>>c)
   {
       if(c=='E') break;
       s+=c;
   }
    //分别针对两个分值11,22,建立解决方法solve
    solve(11,s);
    cout<<endl;
    solve(21,s);
	return 0;
}

模拟:

根据题目要求,我们需要在11分和21分制下统计每一局获胜的比分,获胜的条件是有一方达到11或22分,并且分差大于等于2。所以我建立了一个solve方法分别解决11,21两个分值的情况。参数是分值和字符串。

if(max(a,b)>=num&&abs(a-b)>=2)

{

cout<<a<<":"<<b<<endl;

a=0;

b=0;

}

核心

注意,比分的初始化

相关推荐
ArturiaZ1 分钟前
【day60】
算法·深度优先·图论
2401_8512729912 分钟前
自定义内存检测工具
开发语言·c++·算法
章鱼丸-23 分钟前
DAY31 文件的拆分和写法
开发语言·python
左左右右左右摇晃30 分钟前
Java并发——synchronized锁
java·开发语言
☆56633 分钟前
C++中的命令模式
开发语言·c++·算法
仰泳的熊猫35 分钟前
题目2577:蓝桥杯2020年第十一届省赛真题-走方格
数据结构·c++·算法·蓝桥杯
wenlonglanying38 分钟前
Windows安装Rust环境(详细教程)
开发语言·windows·rust
CQU_JIAKE1 小时前
3.21【A】
开发语言·php
CoovallyAIHub1 小时前
Pipecat:构建实时语音 AI Agent 的开源编排框架,500ms 级端到端延迟
深度学习·算法·计算机视觉
今儿敲了吗1 小时前
python基础学习笔记第九章——模块、包
开发语言·python