模拟算法乒乓球

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;

}

核心

注意,比分的初始化

相关推荐
业精于勤的牙2 小时前
浅谈:算法中的斐波那契数(二)
算法·职场和发展
陈文锦丫2 小时前
MQ的学习
java·开发语言
不穿格子的程序员3 小时前
从零开始写算法——链表篇4:删除链表的倒数第 N 个结点 + 两两交换链表中的节点
数据结构·算法·链表
liwulin05063 小时前
【PYTHON-YOLOV8N】如何自定义数据集
开发语言·python·yolo
liuyao_xianhui3 小时前
寻找峰值--优选算法(二分查找法)
算法
dragoooon343 小时前
[hot100 NO.19~24]
数据结构·算法
神仙别闹3 小时前
基于QT(C++)实现学本科教务系统(URP系统)
数据库·c++·qt
青蛙大侠公主3 小时前
Thread及其相关类
java·开发语言
爱吃大芒果3 小时前
Flutter 主题与深色模式:全局样式统一与动态切换
开发语言·javascript·flutter·ecmascript·gitcode
云栖梦泽3 小时前
易语言数据库操作:结构化数据管理的核心
开发语言