P1042【深基8,例1】乒乓球

【題目背景】國際乒聯現在主席沙拉拉自從上任以來就立志于推行一系列改革,以推動乒乓球運動在全球的普及。其中 11 分制改革引起了很大的爭議,有一部分球員因為無法適應新規則只能選擇退役。華華就是其中一位,他退役之后走上了乒乓球研究工作,意圖弄明白 11 分制和 21 分制對選手的不同影響。在開展他的研究之前,他首先需要對他多年比賽的統計數據進行一些分析,所以需要你的幫忙。

【題目描述】 華華通過以下方式進行分析,首先將比賽每個球的勝負列成一張表,然后分別計算在 11 分制和 21 分制下,雙方的比賽結果(截至記錄末尾)。 比如現在有這么一份記錄,(其中 W 表示華華獲得一分,L 表示華華對手獲得一分): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?WWWWWWWWWWWWWWWWWWWWWWLW

在 11 分制下,此時比賽的結果是華華第一局 11 比 0 獲勝,第二局 11 比 0 獲勝,正在進行第三局,當前比分 1 比 1。而在 21 分制下,此時比賽結果是華華第一局 21 比 0 獲勝,正在進行第二局,比分 2 比 1。如果一局比賽剛開始,則此時比分為 0 比 0。直到分差大于或者等于 2,才一局結束。 注意:當一局比賽結束后,下一局立刻開始。 你的程序就是要對于一系列比賽信息的輸入(WL 形式),輸出正確的結果。

【輸入格式】 每個輸入文件包含若干行字符串,字符串由大寫的 W 、 L 和 E 組成。其中 E 表示比賽信息結束,程序應該忽略 E 之后的所有內容。

【輸出格式】 輸出由兩部分組成,每部分有若干行,每一行對應一局比賽的比分(按比賽信息輸入順序)。其中第一部分是 11 分制下的結果,第二部分是 21 分制下的結果,兩部分之間由一個空行分隔。

問題重述

我們需要根據給定的比賽記錄(由'W'、'L'和'E'組成,其中'E'表示結束),分別計算在11分制和21分制下的比賽結果。比賽規則如下:

  1. 每局比賽先達到11分(或21分)且領先對手至少2分的選手贏得該局。
  2. 如果比分達到10-10(或20-20),則需要繼續比賽,直到一方領先2分為止。
  3. 一局比賽結束后,下一局立即開始,比分從0-0重新開始。
  4. 輸出時,第一部分是11分制下的所有局比分,第二部分是21分制下的所有局比分,兩部分之間用空行分隔。

解題思路:

只需要對讀入的內容進行統計即可。使用數組a來記錄下從最開始到結束的得分情況。如果是華華贏就記錄1,反正記為0。讀到E的時候直接就不再繼續讀入,而讀到換行符也直接忽略。同時要記錄他們一共打了幾球(就是n)

然后分別對兩種賽制進行計算。首先計分板上雙方都是0。如果華華贏了,w就增加1,否則l增加1.如果發現計分板上得分高的一方達到了賽制要求的球數,而且分差也足夠,就將計分板的得分輸出,同時計分板清零開始下一局。到最后還要輸出正在進行中的比賽的得分。

代碼:

#include <iostream>
#include <cmath>
using namespace std;
int f[2]={11,21};//兩種賽事的獲獎得分
int a[25*2500+10] ; //a記錄從開始到結束華華的得分情況?
int n=0; //n記錄他們一共打了幾球?
int main(){char tmp;while(1){cin>>tmp;//不斷讀入結果if(tmp=='E') break;else if(tmp=='W') a[n++]=1; //華華贏?else if(tmp=='L') a[n++]=0; //華華輸?}for(int k=0;k<2;k++) { //兩種賽制循環int w=0,l=0;for(int i=0;i<n;i++) {w+=a[i];l+=1-a[i];if(max(w,l)>=f[k] && abs(w-l)>=2){cout<<w<<":"<<l<<endl;w=l=0;}}cout<<w<<":"<<l<<endl;//未完成的比賽也要輸出結果cout<<endl;?}return 0;
}

本題思路很簡單,直接根據題意和生活常識模擬運算。但是還有一些需要注意的地方:

  1. 數組要開夠,至少需要容納25*2500條得分記錄。
  2. 讀到E就停止讀入了,后面的都忽略掉。同時遇到換行符等也要忽略。
  3. 注意要分差2分以上才算一局的結果。
  4. 最后還要輸出正在進行中的比賽,就算是剛剛完成一局也要輸出0:0。

題目幾乎每一句話都很關鍵,所以一定要認真審題。不過,有些題目可能因存在不嚴謹的地方而引起歧義,所以比賽中如果發現字面意思不清楚,可以找比賽組織者(監考老師、志愿者、答疑帖等)明確題意。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/79642.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/79642.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/79642.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ubuntu24.04上使用qemu和buildroot模擬vexpress-ca9開發板構建嵌入式arm linux環境

1 準備工作 1.1 安裝qemu 在ubuntu系統中使用以下命令安裝qemu。 sudo apt install qemu-system-arm 安裝完畢后&#xff0c;在終端輸入: qemu- 后按TAB鍵&#xff0c;彈出下列命令證明安裝成功。 1.2 安裝arm交叉編譯工具鏈 sudo apt install gcc-arm-linux-gnueabihf 安裝之…

用 R 語言打造交互式敘事地圖:講述黃河源區生態變化的故事

目錄 ?? 項目背景:黃河源頭的生態變遷 ?? 技術棧介紹 ??? 最終效果預覽 ?? 項目構建步驟 1?? 數據準備 2?? 構建 Leaflet 地圖 3?? 使用 scrollama 實現滾動觸發事件 4?? 使用 R Markdown / Quarto 打包發布 ?? 效果展示截圖 ?? 完整代碼倉庫 …

CTF--秋名山車神

一、原網頁&#xff1a; 二、步驟&#xff1a; 1.嘗試用計算器計算&#xff1a; 計算器溢出&#xff0c;無法正常計算 2.使用python計算&#xff1a; 得出計算結果為&#xff1a;1864710043732437134701060769 3.多次刷新頁面&#xff1a; 發現變量為value&#xff0c;要用pos…

CRC實戰寶典:從原理到代碼,全面攻克循環冗余校驗

CRC實戰寶典&#xff1a;從原理到代碼&#xff0c;全面攻克循環冗余校驗 github開源&#xff1a;CRC軟硬件協同測試項目 CRC 簡介 CRC&#xff08;循環冗余校驗&#xff09;是一種強大的錯誤檢測技術&#xff0c;廣泛應用于數字網絡和存儲系統。它是確保數據完整性的重要方法…

【大模型】DeepSeek + Coze 打造個人專屬AI智能體使用詳解

目錄 一、前言 二、AI智能體介紹 2.1 什么是AI智能體 2.2 AI智能體核心能力 2.3 AI智能應用場景 三、coze 介紹 3.1 coze是什么 3.1.1 平臺概述 3.1.2 平臺適用人群 3.2 平臺核心功能 3.3 coze可以做什么 3.4 為什么選擇coze 四、coze 搭建AI智能體操作實踐 4.1 搭…

MySQL入門:數據表的創建

?今天我們來介紹一下除HTML外的另一種語言&#xff1a;MySQL語言&#xff1b; MySQL&#xff1a;即一種用于管理和處理關系數據庫的標準語言。要用于執行查詢、更新、管理數據庫中的數據以及定義和操作數據庫結構。 接下來我會逐一介紹它的作用以及其中數據表&#xff0c;數據…

[圖論]生成樹 引言

生成樹 引言 生成樹&#xff1a;一個連通圖的生成樹是該圖的一個極小連通子圖。生成樹中含有圖中全部(設 V V V個)頂點及構成一棵樹的 V ? 1 V-1 V?1條邊&#xff0c;且生成樹中不應有環。最小生成樹(MST)&#xff1a;圖的所有生成樹中&#xff0c;邊權之和最小的生成樹。顯…

AI調試工具有哪些?

一、深度學習框架專用調試工具 TensorBoard ? 功能&#xff1a;實時監控訓練指標&#xff08;損失值、準確率&#xff09;、可視化神經網絡結構、分析參數分布和梯度信息 ? 適用框架&#xff1a;TensorFlow、PyTorch&#xff08;通過插件&#xff09; ? 特點&#xff1a;支持…

深入理解 MCP 協議:開啟 AI 交互新時代

深入理解 MCP 協議&#xff1a;開啟 AI 交互新時代&#x1f680; 在當今人工智能蓬勃發展的時代&#x1f310;&#xff0c;大型語言模型&#xff08;LLM&#xff09;已經在眾多領域展現出了強大的能力&#xff0c;令人驚嘆&#x1f44f;&#xff01;然而&#xff0c;傳統的 LLM…

微信、抖音、小紅書emoji符號大全

1、Emoji 日常符號 &#x1f463;&#x1f440;&#x1f441;?&#x1f444;&#x1f48b;&#x1f442;&#x1f9bb;&#x1f443;&#x1f445;&#x1f9e0;&#x1fac0;&#x1fac1;&#x1f9b7;&#x1f9b4;&#x1f4aa;&#x1f9be;&#x1f9bf;&#x1f9b5;&a…

【嵌入式】——Linux系統遠程操作和程序編譯

目錄 一、虛擬機配置網絡設置 二、使用PuTTY登錄新建的賬戶 1、在ubuntu下開啟ssh服務 2、使用PuTTY連接 三、樹莓派實現遠程登錄 四、樹莓派使用VNC viewer登錄 五、Linux使用talk聊天程序 1、使用linux自帶的talk命令 2、使用c語言編寫一個talk程序 一、虛擬機配置網絡…

春和景明-C語言簡單代碼

題目要求&#xff1a; 請在centOS Linux中編寫一個C語言程序實現如下功能&#xff1a; 同時創建100個用戶&#xff0c;用戶的賬戶名稱為&#xff1a;Student01 Student02 … Student100;設置每個用戶的初始密碼為&#xff1a;stud123456請用gcc編譯C的源代碼&#xff0c;生…

設計模式之工廠模式(factory pattern):在商品對象創建系統中的應用

目錄 一、設計思路 1. 簡單工廠模式 2. 工廠方法模式 3. 抽象工廠模式 二、UML類圖&#xff08;PlantUML格式&#xff09; 1.簡單工廠模式 2.工廠方法模式 3.抽象工廠模式 三、實現過程與結果 1. 簡單工廠模式 2. 工廠方法模式 3. 抽象工廠模式 四、總結 在面向對…

Trae,字節跳動推出的 AI 編程助手插件

Trae 插件是 Trae 旗下全新一代的人工智能編程助手&#xff08;前身為 MarsCode 編程助手&#xff09;&#xff0c;以插件形式集成在本地開發環境中&#xff0c;具備極高的兼容性和靈活性&#xff0c;旨在提升開發效率和代碼質量。它支持超過100種編程語言&#xff0c;兼容主流…

工作紀實_63-Mac電腦使用brew安裝軟件

最近在接觸kafka&#xff0c;想著在自己的電腦安裝一套環境&#xff0c;docker也能行&#xff0c;但是還是想裝一些原生的軟件試試看&#xff0c;因此便想著整理一下brew的命令&#xff0c;這命令確實是方便&#xff0c;不需要下載tar包亂八七糟的東西&#xff0c;一鍵安裝 bre…

Python語法系列博客 · 第8期[特殊字符] Lambda函數與高階函數:函數式編程初體驗

上一期小練習解答&#xff08;第7期回顧&#xff09; ? 練習1&#xff1a;找出1~100中能被3或5整除的數 result [x for x in range(1, 101) if x % 3 0 or x % 5 0]? 練習2&#xff1a;生成字符串長度字典 words ["apple", "banana", "grape…

Redis--主從復制

目錄 一、配置 1.1 建立復制 1.2 斷開復制 1.3 安全性 1.4 只讀 1.5 傳輸延遲 二、拓撲 2.1 一主一從結構 2.2 一主多從結構 2.3 樹形主從結構 在分布式系統中為了解決單點問題&#xff0c;通常會把數據復制多個副本部署到其他服務器&#xff0c;滿足故障恢 復和負載均衡等需求…

已注冊商標如何防止被不使用撤銷!

近年來已注冊商標被撤銷越來越多&#xff0c;不乏著名企業或機構&#xff0c;普推知產商標老楊看到前一陣看到央視和百度等申請的商標也被申請撤銷&#xff0c;連續三年不使用撤銷也是正常的商標流程。 已注冊商標被撤銷普推老楊看到案例主要是集中在一些早期申請注冊的好記的商…

解密大模型背后的秘密:訓練、優化與挑戰

解密大模型背后的秘密&#xff1a;訓練、優化與挑戰 在當今的人工智能領域&#xff0c;大模型&#xff08;Large Language Models, LLMs&#xff09;已經成為了一個不可忽視的存在。從自然語言處理到圖像生成&#xff0c;再到推薦系統&#xff0c;大模型以其強大的泛化能力和創…

App自動化測試流程方案與架構設計

App自動化測試流程方案與架構設計 一、核心流程設計 #mermaid-svg-kN4GmIvHb8MMT83M {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-kN4GmIvHb8MMT83M .error-icon{fill:#552222;}#mermaid-svg-kN4GmIvHb8MMT83M .e…