洛谷——P1042 乒乓球
題目背景
國際乒聯(lián)現(xiàn)在主席沙拉拉自從上任以來就立志于推行一系列改革,以推動乒乓球運動在全球的普及。其中1111分制改革引起了很大的爭議,有一部分球員因為無法適應(yīng)新規(guī)則只能選擇退役。華華就是其中一位,他退役之后走上了乒乓球研究工作,意圖弄明白1111分制和2121分制對選手的不同影響。在開展他的研究之前,他首先需要對他多年比賽的統(tǒng)計數(shù)據(jù)進行一些分析,所以需要你的幫忙。
題目描述
華華通過以下方式進行分析,首先將比賽每個球的勝負列成一張表,然后分別計算在1111分制和2121分制下,雙方的比賽結(jié)果(截至記錄末尾)。
比如現(xiàn)在有這么一份記錄,(其中W表示華華獲得一分,L表示華華對手獲得一分):
WWWWWWWWWWWWWWWWWWWWWWLW
在1111分制下,此時比賽的結(jié)果是華華第一局1111比00獲勝,第二局1111比00獲勝,正在進行第三局,當(dāng)前比分11比11。而在2121分制下,此時比賽結(jié)果是華華第一局2121比00獲勝,正在進行第二局,比分22比11。如果一局比賽剛開始,則此時比分為00比00。直到分差大于或者等于22,才一局結(jié)束。
你的程序就是要對于一系列比賽信息的輸入(WLWL形式),輸出正確的結(jié)果。
輸入輸出格式
輸入格式:
?
每個輸入文件包含若干行字符串,字符串有大寫的WW、LL和EE組成。其中EE表示比賽信息結(jié)束,程序應(yīng)該忽略E之后的所有內(nèi)容。
?
輸出格式:
?
輸出由兩部分組成,每部分有若干行,每一行對應(yīng)一局比賽的比分(按比賽信息輸入順序)。其中第一部分是1111分制下的結(jié)果,第二部分是2121分制下的結(jié)果,兩部分之間由一個空行分隔。
?
輸入輸出樣例
輸入樣例#1:?復(fù)制
WWWWWWWWWWWWWWWWWWWW WWLWE輸出樣例#1:?復(fù)制
11:0 11:0 1:121:0 2:1說明
每行至多25個字母,最多有2500行
?
AC:
#include <iostream> #include <algorithm> using namespace std;int h_11 = 0, d_11 = 0; int h_21 = 0, d_21 = 0; int h11[6000], h21[6000]; //華華11和21分每局得分 int d11[6000], d21[6000]; //對手每局得分 int h11_num = 0, h21_num = 0; int d11_num = 0, d21_num = 0; int main() {char temp;while(scanf("%c", &temp)){if(temp == 'E'){h11[h11_num++] = h_11;d11[d11_num++] = d_11;h_11 = d_11 = 0;h21[h21_num++] = h_21;d21[d21_num++] = d_21;h_21 = d_21 = 0;break;}if(temp == 'W'){h_11++;h_21++;}else if(temp == 'L'){d_11++;d_21++;}//11分制//過賽點,并且分值>=2if( (h_11 > 11 || d_11 > 11) && abs(h_11 - d_11) >= 2){h11[h11_num++] = h_11;d11[d11_num++] = d_11;h_11 = d_11 = 0;}else if((h_11 == 11 || d_11 == 11) && abs(h_11 - d_11) >= 2) //h贏{h11[h11_num++] = h_11;d11[d11_num++] = d_11;h_11 = d_11 = 0;}//21分制if( (h_21 > 21 || d_21 > 21) && abs(h_21 - d_21) >= 2){h21[h21_num++] = h_21;d21[d21_num++] = d_21;h_21 = d_21 = 0;}else if((h_21 == 21 || d_21 == 21) && abs(h_21 - d_21) >= 2) //h贏{h21[h21_num++] = h_21;d21[d21_num++] = d_21;h_21 = d_21 = 0;}}for(int i = 0; i < h11_num; i++){printf("%d:%d\n", h11[i], d11[i]);}cout << endl;for(int i = 0; i < h21_num; i++){printf("%d:%d\n", h21[i], d21[i]);}return 0; }?
總結(jié)
以上是生活随笔為你收集整理的洛谷——P1042 乒乓球的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洛谷——P1031 均分纸牌
- 下一篇: 洛谷——P1177 【模板】快速排序