洛谷題解P1042 桌球

2021-10-02 15:19:33 字數 1790 閱讀 2398

洛谷題解 p1042 桌球

題目背景

國際乒聯現在主席沙拉拉自從上任以來就立志於推行一系列改革,以推動桌球運動在全球的普及。其中11分制改革引起了很大的爭議,有一部分球員因為無法適應新規則只能選擇退役。華華就是其中一位,他退役之後走上了桌球研究工作,意圖弄明白11分制和

21分制對選手的不同影響。在開展他的研究之前,他首先需要對他多年比賽的統計資料進行一些分析,所以需要你的幫忙。

題目描述

華華通過以下方式進行分析,首先將比賽每個球的勝負列成一張表,然後分別計算在11分制和21分制下,雙方的比賽結果(截至記錄末尾)。

比如現在有這麼乙份記錄,(其中w表示華華獲得一分,l表示華華對手獲得一分):

wwwwwwwwwwwwwwwwwwwwwwlw

在11分制下,此時比賽的結果是華華第一局11比0獲勝,第二局11比0獲勝,正在進行第三局,當前比分1比1。而在21分制下,此時比賽結果是華華第一局21比0獲勝,正在進行第二局,比分2比1。如果一局比賽剛開始,則此時比分為0比0。直到分差大於或者等於2,才一局結束。

你的程式就是要對於一系列比賽資訊的輸入(wlwlwl形式),輸出正確的結果。

輸入格式

每個輸入檔案包含若干行字串,字串有大寫的w、l和e組成。其中e表示比賽資訊結束,程式應該忽略e之後的所有內容。

輸出格式

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

輸入輸出樣例

輸入 #1

wwwwwwwwwwwwwwwwwwww

wwlwe

輸出 #1

11:0

11:0

1:121:0

2:1說明/提示

每行至多25個字母,最多有2500行

以下為純c語言題解。題目要求將輸入的字串按照11分制和21分制擷取,每當有大於11或21並且兩人的分數差大於等於2,便結束一局,想到開闢兩個二維陣列,分別記錄11、21分制下的情況,具體**以及思路如下:

#include

#include

//包含了絕對值函式

//下面初步估計了陣列需要開的大小

int list1[

6000][

2];int list2[

3000][

2];int

main()

else

if(ch==

'l')

//第二個人贏一回合,記錄在[*][1]處

//11分制的情況下:

if(list1[k1][0

]>=

11||list1[k1][1

]>=11)

//21分制的情況下:if(

(list2[k2][0

]>=21)

||(list2[k2][1

]>=21)

)}//最後按要求輸出即可

for(i=

0;i<=k1;i++

)printf

("%d:%d\n"

,list1[i][0

],list1[i][1

]);printf

("\n");

//別忘記換行

for(i=

0;i<=k2;i++

)printf

("%d:%d\n"

,list2[i][0

],list2[i][1

]);return0;

}

洛谷 P1042 桌球 題解

演算法 模擬 此題說實在話細節上的問題還是比較多的,對得起 pj 的難度。細節1 在判斷一場比賽是否結束時,如果是 11 10 的比分,比賽還要繼續,只有到雙方分差大於 2 分且至少有一方得到了大於等於 11 分的成績,一場比賽才可以結束 假設在 11 分制下 細節2 在輸出時,如果一局比賽的比分為...

洛谷題解P1042 桌球

原題傳送門 thinking 看到這麼冗長的題面 這道題是一道純模擬題,主要來看思路 思路也很簡單 開乙個 win i 陣列,來記錄 player 1 和 player 2 的勝場數 for int i 1 cin str str e i 在統計時,分為11分和21分兩個部分來操作 步驟基本一致。c...

洛谷 桌球(P1042)

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