當前位置:編程學習大全網 - 編程語言 - 求幾道關於free pascal的編程題 上機運行題!

求幾道關於free pascal的編程題 上機運行題!

我有95至07年的所有題目

把妳的郵箱告訴我我就可以給妳了

有8MB多壹點

給各例子:

普及組

題目壹覽

題目名稱 獎學金 紀念品分組 守望者的逃離 Hanoi雙塔問題

代號 scholar group escape hanoi

輸入文件 scholar.in group.in escape.in hanoi.in

輸出文件 scholar.out group.out escape.out hanoi.out

時限 1秒 1秒 1秒 1秒

(2007年11月17日 3小時完成)

說明:

1. 文件名(程序名和輸入輸出文件名)必須使用小寫

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

3. 全國統壹評測時采用的機器參考配置為:CPU 2.0GHz,內存256M。

1.獎學金

(scholar.pas/c/cpp)

問題描述

某小學最近得到了壹筆贊助,打算拿出其中壹部分為學習成績優秀的前5名學生發獎學金。期末,每個學生都有3門課的成績:語文、數學、英語。先按總分從高到低排序,如果兩個同學總分相同,再按語文成績從高到低排序,如果兩個同學總分和語文成績都相同,那麽規定學號小的同學排在前面,這樣,每個學生的排序是唯壹確定的。

任務:先根據輸入的3門課的成績計算總分,然後按上述規則排序,最後按排名順序輸出前5名學生的學號和總分。註意,在前5名同學中,每個人的獎學金都不相同,因此,妳必須嚴格按上述規則排序。例如,在某個正確答案中,如果前兩行的輸出數據(每行輸出兩個數:學號、總分)是:

7 279

5 279

這兩行數據的含義是:總分最高的兩個同學的學號依次是7號、5號。這兩名同學的總分都是279(總分等於輸入的語文、數學、英語三科成績之和),但學號為7的學生語文成績更高壹些。如果妳的前兩名的輸出數據是:

5 279

7 279

則按輸出錯誤處理,不能得分。

輸入

輸入文件scholar.in包含n+1行:

第1行為壹個正整數n,表示該校參加評選的學生人數。

第2到n+1行,每行有3個用空格隔開的數字,每個數字都在0到100之間。第j行的3個數字依次表示學號為j-1的學生的語文、數學、英語的成績。每個學生的學號按照輸入順序編號為1~n(恰好是輸入數據的行號減1)。

所給的數據都是正確的,不必檢驗。

輸出

輸出文件scholar.out***有5行,每行是兩個用空格隔開的正整數, 依次表示前5名學生的學號和總分。

輸入輸出樣例1

scholar.in scholar.out

6

90 67 80

87 66 91

78 89 91

88 99 77

67 89 64

78 89 98 6 265

4 264

3 258

2 244

1 237

輸入輸出樣例2

scholar.in scholar.out

8

80 89 89

88 98 78

90 67 80

87 66 91

78 89 91

88 99 77

67 89 64

78 89 98 8 265

2 264

6 264

1 258

5 258

限制

50%的數據滿足:各學生的總成績各不相同

100%的數據滿足:6<=n<=300

2.紀念品分組

(group.pas/c/cpp)

題目描述

元旦快到了,校學生會讓樂樂負責新年晚會的紀念品發放工作。為使得參加晚會的同學所獲得的紀念品價值相對均衡,他要把購來的紀念品根據價格進行分組,但每組最多只能包括兩件紀念品,並且每組紀念品的價格之和不能超過壹個給定的整數。為了保證在盡量短的時間內發完所有紀念品,樂樂希望分組的數目最少。

妳的任務是寫壹個程序,找出所有分組方案中分組數最少的壹種,輸出最少的分組數目。

輸入

輸入文件group.in包含n+2行:

第1行包括壹個整數w,為每組紀念品價格之和的上限。

第2行為壹個整數n,表示購來的紀念品的總件數。

第3~n+2行每行包含壹個正整數pi (5 <= pi <= w),表示所對應紀念品的價格。

輸出

輸出文件group.out僅壹行,包含壹個整數,即最少的分組數目。

輸入輸出樣例

group.in group.out

100

9

90

20

20

30

50

60

70

80

90 6

限制

50%的數據滿足:1 <= n <= 15

100%的數據滿足:1 <= n <= 30000, 80 <= w <= 200

3.守望者的逃離

(escape.pas/c/cpp)

問題描述

惡魔獵手尤迪安野心勃勃,他背叛了暗夜精靈,率領深藏在海底的娜迦族企圖叛變。守望者在與尤迪安的交鋒中遭遇了圍殺,被困在壹個荒蕪的大島上。為了殺死守望者,尤迪安開始對這個荒島施咒,這座島很快就會沈下去。到那時,島上的所有人都會遇難。守望者的跑步速度為17m/s,以這樣的速度是無法逃離荒島的。慶幸的是守望者擁有閃爍法術,可在1s內移動60m,不過每次使用閃爍法術都會消耗魔法值10點。守望者的魔法值恢復的速度為4點/s,只有處在原地休息狀態時才能恢復。

現在已知守望者的魔法初值M,他所在的初始位置與島的出口之間的距離S,島沈沒的時間T。妳的任務是寫壹個程序幫助守望者計算如何在最短的時間內逃離荒島,若不能逃出,則輸出守望者在剩下的時間內能走的最遠距離。註意:守望者跑步、閃爍或休息活動均以秒(s)為單位,且每次活動的持續時間為整數秒。距離的單位為米(m)。

輸入

輸入文件escape.in僅壹行,包括空格隔開的三個非負整數M, S, T。

輸出

輸出文件escape.out包含兩行:

第1行為字符串“Yes”或“No”(區分大小寫),即守望者是否能逃離荒島。

第2行包含壹個整數。第壹行為“Yes”(區分大小寫)時表示守望者逃離荒島的最短時間;第壹行為“No”(區分大小寫)時表示守望者能走的最遠距離。

輸入輸出樣例1

escape.in escape.out

39 200 4 No

197

輸入輸出樣例2

escape.in escape.out

36 255 10 Yes

6

限制

30%的數據滿足:1 <= T <= 10, 1 <= S <= 100

50%的數據滿足:1 <= T <= 1000, 1 <= S <= 10000

100%的數據滿足:1 <= T <= 300000, 0 <= M <= 1000, 1 <= S <= 108.

4.Hanoi雙塔問題

(hanoi.pas/c/cpp)

問題描述

給定A、B、C三根足夠長的細柱,在A柱上放有2n個中間有孔的圓盤,***有n個不同的尺寸,每個尺寸都有兩個相同的圓盤,註意這兩個圓盤是不加區分的(下圖為n=3的情形)。現要將這些圓盤移到C柱上,在移動過程中可放在B柱上暫存。要求:

(1)每次只能移動壹個圓盤;

(2)A、B、C三根細柱上的圓盤都要保持上小下大的順序;

任務:設An為2n個圓盤完成上述任務所需的最少移動次數,對於輸入的n,輸出An。

輸入

輸入文件hanoi.in為壹個正整數n,表示在A柱上放有2n個圓盤。

輸出

輸出文件hanoi.out僅壹行,包含壹個正整數, 為完成上述任務所需的最少移動次數An。

輸入輸出樣例1

hanoi.in hanoi.out

1 2

輸入輸出樣例2

hanoi.in hanoi.out

2 6

限制

對於50%的數據,1<=n<=25

對於100%的數據,1<=n<=200

提示

設法建立An與An-1的遞推關系式。

  • 上一篇:Flash動畫中用AS控制物體運動的幾種方法
  • 下一篇:豆腐怎麽切菱形塊圖解
  • copyright 2024編程學習大全網