當前位置:成語大全網 - 書法字典 - 急需NOIP2008(改進組)的測試數據

急需NOIP2008(改進組)的測試數據

全國信息學奧林匹克聯賽(NOIP2008)復賽

改進小組

壹.專題概述

啞猴火柴棍等轉印紙雙疊分揀

英語標題詞匹配信息二疊

可執行文件名稱字匹配消息二堆棧

輸入文件名單詞,inmatches。消息中。成雙入對。

輸出文件名word . out matches . out message . outtwo stack . out。

每個考點的時間限制是1秒1秒1秒1秒。

測試點數10 10 10 10

每個考點的分數是10 10 10 10。

比較方法全文比較全文比較全文比較全文比較全文比較全文比較全文比較

話題類型傳統傳統傳統傳統

第二,提交源文件名

對於Pascal語言的單詞。pas matches . pas message . pastwostack . pas

對於C語言的單詞。c匹配。c消息。cTWOStack.c。

對於C++語言的word。CPP匹配。CPP消息。CPP二疊。CPP。

三。編譯命令(不包括任何優化開關)

對於Pascal語言fpcword。pasfpcmatches。pasfpcmessage。pasfptwostack。帕斯。

對於c語言gcc–o word word . cgcc–o matches matches . cgcc–o message message . cgcc–o two stack two stack . c

對於C++語言G++-o word word。CPPG ++ o匹配。CPPG ++ o消息。CPPG ++ o兩棧兩棧。CPP。

第四,運行內存限制

最大運行內存為50m 50m 50m 50m。

註意事項:

1.文件名(程序名和輸入/輸出文件名)必須大寫。

2.C/c++中函數main()的返回值類型必須是int,程序正常結束時的返回值必須是0。

3.全國統壹評測使用的機器配置為:CPU 1.9GHz,內存512M,以上時限以此配置為準。各省可在自測時根據具體配置調整時限。

1.愚蠢的猴子

(wird.pas/c/cpp)

問題描述

笨猴子詞匯量小,每次做英語選擇題都很頭疼。但是他找到了壹個方法,而且已經被實驗證明,這個方法選擇正確選項的概率是非常高的!

這個方法的具體描述如下:假設maxn是壹個單詞中出現頻率最高的字母的次數,minn是壹個單詞中出現頻率最低的字母的次數。如果maxn-minn是壹個質數,那麽笨猴子認為這是壹個吉祥字,這樣的字很可能就是正確答案。

投入

輸入文件word.in只有壹行,是壹個單詞,其中可能只出現小寫字母,長度小於100。

輸出

輸出文件word.out***兩行,第壹行是字符串,假設輸入的字是幸運字,則輸出“幸運字”,否則輸出“無答案”;

第二行是壹個整數。如果輸入字是幸運字,輸出maxn-minn的值,否則輸出0。

輸入和輸出樣本1

單詞輸入單詞輸出

錯誤幸運詞

2

I/O示例1解釋

在單詞error中,出現頻率最高的字母r出現三次,出現頻率最低的字母1次,3-1=2,2是壹個素數。

輸入和輸出樣本2

單詞輸入單詞輸出

奧林匹克沒有答案

輸入和輸出樣本2解釋

在奧林匹克這個詞中,出現頻率最高的字母I出現了兩次,出現頻率最低的字母是1次,2-1=1,1不是質數。

2.火柴桿方程

(matches.pas/c/cpp)

問題描述

給妳n根火柴棍,妳能拼出多少個類似“A+B=C”的方程?等式中,a、b、c是用火柴棍拼出來的整數(如果數字不為零,最高位不能是0)。用火柴棒拼出數字0-9,如圖所示:

註意:

1.加號和等號各需要兩根火柴桿。

2.若A≠B,則A+B=C和B+A=C視為不同的方程(A,B,C >;=0)

3.必須使用所有N根火柴桿。

投入

在文件matches.in中輸入壹行*** *,和另壹個整數n (n

輸出

輸出文件matches.out***壹行,表示可以拼寫的不同方程的數量。

輸入和輸出樣本1

火柴。進火柴。出

14 2

I/O示例1解釋

這兩個方程是0+1=1和1+0=1。

輸入和輸出樣本2

火柴。進火柴。出

18 9

輸入和輸出樣本2解釋

這九個等式是:

0+4=4

0+11=11

1+10=11

2+2=4

2+7=9

4+0=4

7+2=9

10+1=11

11+0=11

傳遞紙條

(wassage.pas/c/cpp)

問題描述

小淵和小軒是好朋友和同學。他們在壹起總是有說不完的話題。在壹次素質拓展活動中,班上同學安排做壹個m行n列的矩陣,而小淵和小軒被安排在矩陣對角線的兩端,不能直接對話。幸運的是,他們可以通過傳紙條來交流。紙條會通過很多同學發給對方。小淵坐在矩陣的左上角,坐標為(1,1),小軒坐在矩陣的右下角,坐標為(m,n)。從小源到小軒的音符只能向下或向右傳遞,從小軒到小源的音符只能向上或向左傳遞。

在活動中,小淵希望給小軒發壹張便條,並希望小軒給他壹個答復。班上每個人都可以幫他們傳,但只能傳壹次。也就是說,如果這個人在小淵遞給小軒壹張紙條的時候幫忙,他在小軒遞給小淵的時候就不會幫忙了。反之亦然。

還有壹點需要註意的是,班裏每個學生的好感度有高有低(註:小淵和小軒對好感度沒有定義,用0輸入),可以用0-100的自然數來表示,數字越大越好。小淵和小軒希望盡可能找到善良度高的同學幫忙傳紙條,也就是來回找兩條傳遞路徑,讓這兩條路徑上的同學的善良度只有最大。現在,請幫助小淵和小軒找到這樣兩條路。

投入

輸入文件message.in的第壹行有兩個由空格分隔的整數m和n,表示類中有m行和n列(1

接下來的m行是壹個m*n的矩陣,矩陣中I行J列的整數表示坐在I行J列的同學的善意。每行中的n個整數由空格分隔。

輸出

輸出文件message.out***包含了壹個整數,代表了來回兩條路參與送紙條的同學的善心的最大總和。

投入產出樣本

消息輸入消息輸出

3 3

0 3 9

2 8 5

5 7 0 34

限制

30%的數據符合:1

100%的數據滿足:1

4.雙棧排序

(twostack.pas/c/cpp)

問題描述

湯姆最近在研究壹個有趣的排序問題。如圖所示,通過兩個棧S1和S2,Tom希望通過以下四種運算對輸入序列進行升序排序。

操作a

如果輸入序列不為空,則將第壹個元素推入堆棧S1。

操作b

如果堆棧S1不為空,堆棧S1的頂部元素被彈出到輸出序列。

操作c

如果輸入序列不為空,則將第壹個元素推送到堆棧S2上。

操作d

如果堆棧S2不為空,堆棧S2的頂部元素將被彈出到輸出序列。

如果壹個1~n的置換P可以使輸出序列1,2,...(n-1),N,Tom稱為“雙棧可排序排列”。例如,(1,3,2,4)是“雙棧可排序序列”,而(2,3,4,1)不是。下圖描述了壹個排序(1,3,2,4): < a,c,c,b,a,d,d,b & gt

當然,可能有幾個這樣的操作順序。對於上面的例子(1,3,2,4),< a,c,c,b,a,d,d,b & gt是另壹種可行的操作順序。湯姆想知道字典順序最小的運算序列是什麽。

投入

輸入文件twostack.in的第壹行是整數n。

第二行有n個正整數,用空格隔開,形成1 ~ n的排列。

輸出

輸出壹行文件twostack.out***,如果輸入排列不是“雙棧可排序排列”,輸出數字0;否則輸出字典順序最小的操作序列,每兩個操作之間用空格隔開,行尾沒有空格。

輸入和輸出樣本1

雙棧。雙棧。出

1 3 2 4 a b a b a b a b a b

輸入和輸出樣本2

雙棧。雙棧。出

2 3 4 1 0

輸入和輸出樣本3

雙棧。雙棧。出

2 3 1 a c a b b d

限制

30%的數據符合:n

50%的數據符合:n

100%數據符合:n