模拟算法乒乓球

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;

}

核心

注意,比分的初始化

相关推荐
橙子也要努力变强1 天前
信号的保存、阻塞与递达
linux·服务器·c++
叶小鸡1 天前
Java 篇-项目实战-天机学堂(从0到1)-day9
java·开发语言
小短腿的代码世界1 天前
Qt券商接口封装深度解析:统一API设计与多源适配
开发语言·qt·单元测试
wearegogog1231 天前
基于Q-learning的栅格地图路径规划MATLAB仿真程序
开发语言·算法·matlab
旖-旎1 天前
深搜练习(组合总和)(7)
c++·算法·深度优先·力扣
T0uken1 天前
基于 vcpkg 与 LLVM-MinGW 的 Qt6 静态链接开发方案
c++·windows·qt
睡一觉就好了。1 天前
C++11(一)
c++
小O的算法实验室1 天前
2026年ASOC,基于人工势场的差分进化算法改进框架,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
csbysj20201 天前
Java 条件语句
开发语言
爱学习的张大1 天前
具身智能论文精读(五):OpenVLA
人工智能·算法