P1042 NOIP2003 普及組 桌球

2021-10-21 21:11:21 字數 1379 閱讀 6082

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

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

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

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

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

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

輸入 #1

wwwwwwwwwwwwwwwwwwww

wwlwe

輸出 #1

11:0

11:0

1:121:0

2:1

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

演算法標籤:模擬

思路:收集資料,對資料進行分析。用陣列a來儲存得分情況,a的空間大小要足夠大,至少需要25 * 2500 個空間。

#include

#include

using

namespace std;

int a[25*

2500+10

];// 儲存得分資訊

int n =0;

//記錄打了幾球

int k[2]

=;//兩種分制

intmain()

for(

int i =

0;i <

2;i++

)//兩種分制,分開計算

}// if( w != 0 || l != 0) cout << w << ":" << l << endl;

//上面語句本是為了防止剛好打夠兩場比賽後 w 和 l 都為0輸出,

//後來測試發現 wwwwwwwwwwwwwwwwwwwwwe 這種情況下不滿足if判斷語句的條件的,

//並不會在迴圈裡列印最後一場的資料,請注意

cout << w <<

":"<< l << endl;

cout << endl;

}return0;

}```

P1044 NOIP2003 普及組 棧

棧是計算機中經典的資料結構,簡單的說,棧就是限制在一端進行插入刪除操作的線性表。棧有兩種最重要的操作,即 pop 從棧頂彈出乙個元素 和 push 將乙個元素進棧 棧的重要性不言自明,任何一門資料結構的課程都會介紹棧。寧寧同學在複習棧的基本概念時,想到了乙個書上沒有講過的問題,而他自己無法給出答案,...

普及 NOIP 2003 桌球

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

數字遊戲 NOIp普及組 2003 普及 提高

數字遊戲 題目描述 丁丁最近沉迷於乙個數字遊戲之中。這個遊戲看似簡單,但丁丁在研究了許多天之後卻發覺原來在簡單的規則下想要贏得這個遊戲並不那麼容易。遊戲是這樣的,在你面前有一圈整數 一共nn個 你要按順序將其分為mm個部分,各部分內的數字相加,相加所得的mm個結果對1010取模後再相乘,最終得到乙個...