模拟算法乒乓球

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;

}

核心

注意,比分的初始化

相关推荐
wabs66621 分钟前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
hanlin0324 分钟前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
shehuiyuelaiyuehao1 小时前
算法50,分治归并,数组中的逆序对
java·算法
风合星语2 小时前
2026 ROS 2 Lyrical C++ 入门(五):Action 实战——任务反馈、取消与超时处理
c++·机器人·ros2·异步编程·lyrical
阳明山水2 小时前
校准分位数驱动智能库存决策
人工智能·深度学习·算法·机器学习·架构
91刘仁德2 小时前
C++ 继承和多态 设计模式
c语言·c++·笔记
码行山野赴时序归途2 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙55232 小时前
单体项目编写思路和落地形式
java·开发语言
库玛西3 小时前
哈夫曼树与前缀编码:数据压缩的贪心核心
c语言·c++·笔记·考研
别动我齐刘海3 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人