集訓(xùn)隊(duì)作業(yè)stoneage石器時(shí)代交互式_第1頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余2頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、石器時(shí)代 (交互式)(stoneage)【背景描述】借助月光寶盒,HURRICANE 小組的成員們來(lái)到了石器時(shí)代。在熱鬧的石器時(shí)代廣場(chǎng)上,不同部落的原始人來(lái)來(lái)往往進(jìn)進(jìn)出出。但是,石器時(shí)代是非常容易爆發(fā)的。爆發(fā)時(shí),總是處于絕對(duì)優(yōu)勢(shì)地位的部落獲勝。某一時(shí)刻一個(gè)部落在廣場(chǎng)上有“絕對(duì)優(yōu)勢(shì)”指的是該時(shí)刻在廣場(chǎng)上此部落的人數(shù)比其他部落的人數(shù)之和還要多。出于安全考慮,HURRICANE 小組的成員都非常迫切的希望知道的 HURRICANE 小組目前在廣場(chǎng)上哪個(gè)部落有絕對(duì)優(yōu)勢(shì)。但非常不幸的是成員們只能判斷兩個(gè)原始人是不是屬于一個(gè)部落。你的任務(wù)就是協(xié)助HURRICANE 小組!【任務(wù)描述】這是一道交互式的題目,

2、你的程序需要和交互庫(kù)交互并按照所有庫(kù)函數(shù)的調(diào)用:的約定完成你需要在執(zhí)行任何其他的操作之前初始化交互庫(kù); 然后通過(guò)調(diào)用庫(kù)函數(shù)來(lái)完成你對(duì)數(shù)據(jù)的輸入及處理;最后你需要將所有交互庫(kù)需要的信息返回并推出程序?!窘换シ绞健浚◣?kù)函數(shù))提供的交互庫(kù)中包括了如下的函數(shù),現(xiàn)將它們的功能說(shuō)明如下: init:初始化函數(shù)。只能且必須在調(diào)用其它函數(shù)前調(diào)用,且僅能被調(diào)用一次。調(diào)用后石器時(shí)代廣場(chǎng)被清空,且同時(shí)完成交互庫(kù)的初始化工作。getjob:你應(yīng)當(dāng)調(diào)用該函數(shù)來(lái)獲取你的程序下一步要做的工作。本函數(shù)返回值作如下約定:對(duì)一個(gè)正整數(shù) i:表示第 i 個(gè)進(jìn)入廣場(chǎng)原始人離開(kāi)了廣場(chǎng);0:表示有一個(gè)原始人進(jìn)入了廣場(chǎng);-1:表示 HUR

3、RICANE 小組希望知道當(dāng)前廣場(chǎng)上哪個(gè)部落有絕對(duì)優(yōu)勢(shì)。在下一次調(diào)用本函數(shù)前你必須調(diào)用且僅調(diào)用一次 answer 函數(shù)作為回答;-2:表示任務(wù)完成。在此后不應(yīng)該有任何其他庫(kù)函數(shù)調(diào)用。你的程序應(yīng)該馬上退出。并且約定進(jìn)入廣場(chǎng)的原始人總數(shù)不超過(guò) 1000000;query(i, j):調(diào)用 init 以后的任何時(shí)候你都可以調(diào)用本函數(shù)。本函數(shù)用作測(cè)試第 i 個(gè)進(jìn)入廣場(chǎng)的和第 j 個(gè)進(jìn)入廣場(chǎng)的原始人是不是屬于同一個(gè)部落,返回 1 表示屬于同一部落,否則返回 0。注意你必須保證它們至少進(jìn)入過(guò)廣場(chǎng),否則約定返回-1。answer(i):i 是你的回答。如果目前有部落處于絕對(duì)優(yōu)勢(shì)地位,則第 i個(gè)入場(chǎng)的原始人應(yīng)

4、該屬于該部落并且仍然在場(chǎng)上(i 可以是他們中任何一個(gè)的入場(chǎng)序號(hào));如果目前任何一個(gè)部落都沒(méi)有絕對(duì)優(yōu)勢(shì),i 應(yīng)該為 0?!窘换永空{(diào)用 init getjobgetjob query(1,2) getjob answer(0) getjob getjobquery(3,2)返回 N/A 000-1N/A 0-11解釋程序初始化,石器時(shí)代廣場(chǎng)上一個(gè)人也沒(méi)有。原始人A 第一個(gè)進(jìn)入廣場(chǎng)。原始人B 第二個(gè)進(jìn)入廣場(chǎng)。查詢(xún)?cè)既薃 和B,發(fā)現(xiàn)他們不屬于同一個(gè)部落。詢(xún)問(wèn):當(dāng)前存在占絕對(duì)優(yōu)勢(shì)的部落嗎?顯然不存在。以 0 作為回答。原始人C 第三個(gè)進(jìn)入廣場(chǎng)。再次詢(xún)問(wèn)是否存在占絕對(duì)優(yōu)勢(shì)的部落。 查詢(xún)C 和B,發(fā)現(xiàn)

5、他們屬于同一個(gè)部落。3 和 2 都是占絕對(duì)優(yōu)勢(shì)的部落的成員,回答其中任何一個(gè)即可。原始人B 離開(kāi)了廣場(chǎng)。再次詢(xún)問(wèn)。當(dāng)前不存在占絕對(duì)優(yōu)勢(shì)的部落。原始人A 離開(kāi)了廣場(chǎng)。得到可以退出的標(biāo)志,任務(wù)完成,程序退出。answer(3)N/Agetjob getjob answer(0) getjobgetjob2-1N/A 1-2【測(cè)試說(shuō)明】你應(yīng)該寫(xiě)一個(gè)輸入文件stoneage.in,每一行包含一條指令,為下面中的一個(gè):大寫(xiě)字母I 接空格再接一個(gè)整數(shù) m 表示放入廣場(chǎng)一個(gè)屬于第 m 號(hào)部落的原始人;大寫(xiě)字母M 表示查詢(xún)當(dāng)前有沒(méi)有處于絕對(duì)優(yōu)勢(shì)的部落;大寫(xiě)字母 D 接空格再接一個(gè)整數(shù) m 表示第 m 個(gè)進(jìn)入廣

6、場(chǎng)的原始人離開(kāi)了;最后一行應(yīng)該僅包含一個(gè)大寫(xiě)的字母E,表示輸入文件的結(jié)束。運(yùn)行程序時(shí)測(cè)試庫(kù)會(huì)生成stoneage.log你的程序的每一次對(duì)庫(kù)函數(shù)的調(diào)用。stoneage.log 會(huì)忠實(shí)你的程序的調(diào)用,即使它們是的。你應(yīng)該根據(jù)stoneage.log 來(lái)判斷你的程序的正確性?!菊Z(yǔ)言相關(guān)的說(shuō)明】對(duì)于使用 PASCAL 的選手來(lái)說(shuō),數(shù)定義:提供的stonelib.ppu 單元包括如下的函procedure init;function getjob:long;function query(i,j:longprocedure answer(ans:long):);eger;你可以通過(guò)uses stonelib;語(yǔ)句來(lái)使用這個(gè)單元并調(diào)用其中的函數(shù)。對(duì)于使用 C/C+的選手來(lái)說(shuō),提同的 stonelib.h/.o 庫(kù)包括如下的函數(shù)定義:void init(); long getjob();query(long i,long j);void answer(long ans);你可以通過(guò)#include “stonelib.h”預(yù)編譯指令來(lái)包括這個(gè)頭文件并使用并調(diào)用其中的函數(shù)?!具\(yùn)行限制】【評(píng)分方法】本題目一共有十個(gè)測(cè)試點(diǎn),每個(gè)測(cè)試點(diǎn)的分?jǐn)?shù)為總分?jǐn)?shù)的 10%。在你的對(duì)每個(gè)測(cè)試點(diǎn)進(jìn)行運(yùn)行的時(shí)候,如

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論