NOIP2003 普及組 桌球

2022-06-14 18:06:09 字數 967 閱讀 4222

這是一道模擬題。

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

模擬題考驗的是我們的**實現能力,簡單的模擬題基本不用想,就是水題,但是比較難的模擬題,需要我們仔細思考,要尋找出一種能夠在**上相對來說比較好實現並且可以解決這道題的資料結構,這考驗的是我們對資料結構的掌握和對題意向**的轉化。(參考

然後我們來看一下這道題目: [noip2003 普及組] 桌球 

首先看輸入,注意輸入的多行字串其實是連續的資料,可以把'e'之前的全部存入乙個char s,然後進行按照不同分制進行模擬。

模擬注意兩個條件:1.只有當其中一人的分數大於等於11/21,且兩人的分數差大於等於2,比賽才算結束。    2.新一場比賽剛開始時比分0:0也要輸出。(有兩種情況:"e"或者最後一局比賽剛好完整結束)

#include using

namespace

std;

const

int len = 2500*30

;char

s[len];

int len = 0

;void solve(int

k) }

//最後不完整的一局,0:0就是屬於這種情況

cout<':'

}int

main()

solve(

11);

cout

21);

return0;

}

自己做的時候還對如何讀取輸入比較困惑,查了一下,總結在這:1.可以使用while((ch = cin.get()) != eof)來讀取單個字元,或者cin>>ch也行。 2.本題中'e'後面的資料可以全部丟棄,不用讀入,讀到'e'就可以停止了。

普及 NOIP 2003 桌球

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

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...