模拟算法乒乓球

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 天前
java-枚举类、抽象类、接口、内部类
java·开发语言
bxlj_jcj1 天前
使用 Arthas + Heapdump + MAT 三步定位 Java 内存泄漏
java·开发语言·python
多米Domi0111 天前
0x3f 第25天 黑马web (145-167)hot100链表
数据结构·python·算法·leetcode·链表
LYFlied1 天前
【每日算法】LeetCode 207. 课程表
算法·leetcode·职场和发展
大猫和小黄1 天前
Java ID生成策略全面解析:从单机到分布式的最佳实践
java·开发语言·分布式·id
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章7-膨胀
图像处理·人工智能·opencv·算法·计算机视觉
mingren_13141 天前
c++和qml交互
c++·qt·交互
叫我:松哥1 天前
基于机器学习的地震风险评估与可视化系统,采用Flask后端与Bootstrap前端,系统集成DBSCAN空间聚类算法与随机森林算法
前端·算法·机器学习·flask·bootstrap·echarts·聚类
froginwe111 天前
Servlet 编写过滤器
开发语言
一起养小猫1 天前
LeetCode100天Day12-删除重复项与删除重复项II
java·数据结构·算法·leetcode