模拟算法乒乓球

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;

}

核心

注意,比分的初始化

相关推荐
习习.y4 分钟前
关于python中的面向对象
开发语言·python
lingggggaaaa4 分钟前
免杀对抗——C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征
c语言·开发语言·笔记·学习·安全·microsoft·c#
技术净胜4 分钟前
MATLAB 基因表达数据处理与可视化全流程案例
开发语言·matlab
友友马4 分钟前
『Qt』多元素控件
开发语言·qt
hmbbcsm12 分钟前
练习python题目小记(六)
开发语言·python
前端小L29 分钟前
图论专题(十九):DAG上的“关键路径”——极限规划「并行课程 III」
算法·矩阵·深度优先·图论·宽度优先
4***V20230 分钟前
Vue3响应式原理详解
开发语言·javascript·ecmascript
scx2013100430 分钟前
20251116 树状DP总结
算法·深度优先·图论
q***985232 分钟前
VS Code 中如何运行Java SpringBoot的项目
java·开发语言·spring boot
别动哪条鱼39 分钟前
MP4转AAC转换器C++
c++·ffmpeg·音视频·aac