普及 NOIP 2003 桌球

2021-07-24 05:51:35 字數 1527 閱讀 5950

題目背景

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

題目描述

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

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

wwwwwwwwwwwwwwwwwwwwwwlw

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

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

輸入輸出格式

輸入格式:

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

輸出格式:

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

輸入輸出樣例

輸入樣例#1:

wwwwwwwwwwwwwwwwwwww

wwlwe

輸出樣例#1:

11:0

11:0

1:121:0

2:1【分析】

模擬…有坑

【**】

//noip 2003 [普及]桌球 

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define m(a) memset(a,0,sizeof a)

#define fo(i,j,k) for(i=j;i<=k;i++)

using

namespace

std;

const

int mxn=100005;

char ch,s[mxn];

int cnt,sco1,sco2;

int main()

fo(i,1,cnt)

printf("%d:%d\n",sco1,sco2),sco1=sco2=0;

printf("\n");

fo(i,1,cnt)

printf("%d:%d\n",sco1,sco2);

printf("\n");

return

0;}

NOIP2003 普及組 桌球

這是一道模擬題。模擬題 使程式按照題目所敘述的方式進行,模擬整個過程。模擬演算法其實就是給你一堆資料,設計程式將整個模擬過程走一遍,然後得出結果。題目怎麼表述的,程式就怎麼執行。所以模擬題對於演算法設計的要求不高,但是需要選擇合適的資料結構來進行模擬。參考 模擬題考驗的是我們的 實現能力,簡單的模擬...

noip2003普及組 棧

棧 組合計數,卡特蘭數 o n 2 o n 2 o n2 首先任何一種合法的入棧 出棧操作序列都可以得到乙個不同的1 n的排列,因此可以得到的排列總數等於合法入棧 出棧操作序列的個數。該問題等價於求第n nn項cat alan catalan catala n數。在本題中我們使用公式 cnm cn ...

NOIP2023年普及組題解

這是第一題 首先,在做題之前要注意兩個地方 e 不一定出現在文字的末尾,也不一定出現在某行的末尾 比賽必須要領先2個球才能獲勝,11 10的比分是不存在的 好了,廢話不多說,直接上 include include include include include using namespace std...