• Tidak ada hasil yang ditemukan

problem set

N/A
N/A
Protected

Academic year: 2023

Membagikan "problem set"

Copied!
12
0
0

Teks penuh

(1)

程式設計試題

(建國中學資訊科校內培訓第五次模擬競賽)

下表為評分用,請勿填寫

題目

惡魔軍團 的病毒

Virus

鍊金術 回來了 Alchemy2

天使軍團 的防禦 Defend

房屋定價 House4

安慰的學問 Comfort 測試一

測試二

測試三

測試四

測試五

總分

總分 _____________

/ 125

選手簽名 _________________ 評審 __________________

准考證號碼:_____________(班級座號)

姓名:_____________

USB

號碼:_____________(帳號)

(2)

注意事項

一、此競賽採部分電腦線上自動評分,因此參賽選手應嚴格遵守每一題目 所規定之目錄、執行檔、輸入檔、輸出檔之路徑、名稱及格式。若未 遵守,該題可以0 分計算。

題目

惡魔軍團 的病毒

Virus

鍊金術 回來了 Alchemy2

天使軍團 的防禦 Defend

房屋定價 House4

安慰的學問 Comfort

目錄 --- --- --- --- ---

可執行檔 virus.exe alchemy2.exe defend.exe house4.exe comfort.exe 輸入檔 virus.in alchemy2.in defend.in house4.in comfort.in 輸出檔 virus.out alchemy2.out defend.out house4.out comfort.out

總分 25 25 25 25 25

二、針對每一題所完成之程式,其每一筆測試資料的執行時間以10秒為限

。執行時間超過10秒者視同未完成,該筆測試資料將以0分計算。

所規定之目錄、執行檔、輸入檔、輸出檔之路徑、名稱及格式。若未 遵守,該題可以0 分計算。

三、競賽結束後,參賽選手應在指定的時間內與評審 共同進行程式測試與評 審作業。

四、每一筆測試資料沒有部分給分,但每一題可以只答對部分的測試資料。

建中校內培訓模擬競賽特殊規則:

一、比賽途中請將程式碼上傳到http://math120908.infor.org/JudgeOnline/

系統,比賽結束後將以最後一次上傳的程式碼為評分依據,逾期不以計 算。(注意:是上傳程式碼(.cpp)而非執行檔(.exe),請勿搞混)

二、比賽途中對題目有任何問題可以至上述網址發問,上述網址亦有備份 程式碼的功能,請隨時記得備份。

三、結束後會統一評測,方式為讀檔寫檔,請依照上方表格以及各題題目名 稱下方的輸出、輸出檔名作輸入、輸出。

(3)

題目一:惡魔軍團的病毒(Virus

輸入方式:virus.in 輸出方式:virus.out

問題描述

所謂的網路通訊即是在各個電腦中內進行資料通訊,當然這裡所說的

「電腦」並不只限於我們看得到的電腦,只要在某個機器中有微電腦 或者跟電子訊號的處理有關係,就能稱上一個「電腦」,例如說我們 熟知的藍芽、電話、收音機……等等,因為都牽扯到電波傳遞與訊號 解讀,因此都可以稱作一個電腦。而我們所謂的通訊,當然即是利用 這些電波來傳遞訊號。

因為有了電波傳遞的功能,所以人們的生活變得更加便利。然而陽光 背後總是藏有黑暗的一面;當在醫院裡誕生一個新生命時,你又曾發 現過死神(不是Bleach)在其他房間內徘徊。沒錯!惡魔軍團

Demon Legion)就在這種環境下誕生了。

其中惡魔軍團的首領Satan,以破壞別人的電腦為樂趣,他已經「殺 的變態了!!」,這次他決定要在某個網路中散佈一個病毒,並藉以 享受殺人的樂趣,而這個病毒將會不斷的增殖,並利用網路技術感染 到他能溝通到的電腦,當然了,他能感染的電腦,僅有他能直接連出 去的電腦,對於只能連進他電腦的電腦,他就沒辦法直接感染他。

經過一番駭客攻擊與截取資料的結果,他已經能夠熟知這個網路拓樸 結構中各個電腦的重要性了,他並藉此為每台電腦標上一個破壞爽度

。現在他希望能找到一個電腦,當作病毒的源頭,藉此感染盡量多的

(4)

電腦,使得這些被感染的電腦的爽度和最大,身為惡魔軍團的參謀 Lucifer,決定寫出一個程式來決定從哪裡散撥病毒種子能使得破壞程 度最大(即重要度和最大)。

而作為天使軍團(Angel Legion)的你要阻止他們犯罪,首先就必須要 有辦法寫出跟他們一樣的程式,身為天使軍團參謀Cherub的你是否有 辦法寫出一樣的程式找出他們會在哪裡散播種子呢?

輸入檔格式 (virus.in)

輸入包含一張網路拓樸的圖。

第一行有兩個非負整數N、M(N 1,000≦ ,M 100,000≦ ),代表這個 網路有幾台電腦,M代表有幾個通訊道路。

接下來一行有 N個正整數,依序代表第 i 台電腦的破壞爽度(每個數字 在int範圍之內)。

接下來有M行,分別代表M條通訊道路。每行有兩個正整數 a, b

(1 a,b N, a≠b≦ ≦ ),代表a電腦可以直接連到b電腦(注意!並不代 表說b可以直接連回a)。

輸出檔格式 (virus.out)

對於每筆輸入檔,請輸出輸出兩個數字,分別代表惡魔軍團可能要以 哪台電腦作為病毒源頭,並且輸出以這個電腦為病源能或得多少爽度

,如果有多種可能,請輸出編號最小的。

輸入檔範例 1 輸入檔範例 2

6 6 7 5

1 2 3 4 5 6 99 2 3 4 5 6 99

1 2 6 2

2 3 2 3

3 4 3 4

4 2 4 2

3 5 3 5

6 3

輸出檔範例 1 輸出檔範例 2

6 20 1 99

(5)

題目二:鍊金術回來了(Alchemy2

輸入方式:alchemy2.in 輸出方式:alchemy2.out

問題描述

再一次的,你得到了你面前的物質施展鍊金術的機會。根據古老的傳 說,如果你將這些物質排成一列,並妥善的安排這些物質的順序,你 將獲得足以支配世界的巨大魔法力量。

根據對物質特性及古代文字的長期研究,你得知了古老鍊金術書籍上 各種神秘符號所代表的意義,以及其分別對應到什麼東西。例如H0代 表了一個Higgs boson,而 則代表了一個Tauon antineutrino,cb0是一 個charmed bottom xi prime baryon。然而無論是使用這些符號或它們的 全名都是相當的麻煩,於是你就將你面前的n種東西分別編上1~n的 號碼。

在將各種神秘符號翻譯成號碼後,鍊金術書籍上所呈現的知識已一目 了然:你發現書上記載著一系列共m條的規則,敘述若要成功施展鍊 金術則你安排的物質順序需要滿足哪些條件,而每個規則的內容都是 兩個編號a與b,代表著編號 a的物質必須要排列在編號b 的物質之前

而在書本的最後,你又發現了一個筆跡潦草的公式(如上圖),經過一陣 翻譯及複雜的數學推導,你發現它代表的意思是指:

產生魔法力量 = h2n+1000 -

1 n

i 編號i物質從前面數來之所在位置*(n-i+1)!*2i hn-i 其中h是一個常數,其值為662606896,而符號Σ則代表對i = 1到n 求和。現在給定所有書上所記載的放置條件,則要依什麼順序放置才 能使所產生的魔法力量最大呢?

※註:以上內容純屬虛構,如有雷同,純屬巧合XD

(6)

輸入檔格式 (alchemy2.in)

第一行包含兩個正整數n、m(n, m 3000000≦ ),分別表示你面前的 物質種類數及書上共有幾條規則。接下來的m行每行均包含兩個正整 數a、b,表示編號a的物質必須放置在編號b的物質之前。

輸出檔格式 (alchemy2.out)

若不存在滿足書上規則的放置方式,則輸出”Contradiction.”(不含引號

)。否則輸出一行包含n個物質編號的一個排列,以空白分隔,代表 能產生最大魔法力量的放置順序。測資保證若存在滿足規則之放置方 式,則產生最大魔法力量的放置順序唯一。

輸入檔範例 1 輸入檔範例 2

2 1 2 2

2 1 1 2

2 1

輸出檔範例 1 輸出檔範例 2

2 1 Contradiction.

(7)

題目三:天使軍團的防禦(Defend

輸入方式:defend.in 輸出方式:defend.out

問題描述

雖然在上次的攻擊行動中,天使軍團成功的預測了惡魔軍團的攻擊。

但是覺得很不滿的惡魔軍團卻不會就此罷手,決定要繼續發動攻擊。

這次惡魔軍團找到了一個網路,他們發現這個網路有一個特性,是這 個網路中的任兩台電腦都可以對連!!雖然如此,可是上一代的病毒 因為失敗所以被淘汰了,這次換成了一種新的病毒,這種病毒自己無 法複製,所以必須要親自遍歷各台電腦。

移動方式是會從所有目前能連出去的電腦中去看說,那些電腦未被病 毒侵蝕,再從這些電腦中去看說哪些最容易潛伏(其實就等價於編號 最小,這個編號是惡魔軍團編的,代表說這台電腦容不容易潛伏),

然後移動到那台電腦,等到沒有電腦可以移動時,就往回上一層(也 就是回到他從哪過來的那台電腦),一直到沒電腦可攻擊。當然因為 每次都是選編號最小的,因此一開始一定是從編號為1的電腦開始攻 擊。

聽起來好像這種病毒威力很弱,但其實這種病毒感染力比第一代病毒 強多了,而且速度非常之快,想要檔下來根本不太可能。

好在天使軍團接到了小道消息,但是因為來不及作防護措施,因此先 將這個網路中的一些電腦通訊方式截斷,使病毒沒辦法直接照順序去 感染。

(8)

而Ophan因為發現了這種病毒的治療方法,所以決定要來擔任淨化的 工作,但是如果被感染時間太久,那電腦就報銷了哪有可能實施淨化

,所以他必須要按照被感染的順序來淨化,不然可能就有電腦來不及 拯救就報銷了。

因此Cherub你的任務又來了,你必須要找出這些電腦被感染的順序,

並且告訴Ophan,好讓他來淨化電腦。

輸入檔格式 (defend.in)

輸入包含一張網路拓樸的圖。

第一行有兩個非負整數N,M(N 1,000,000≦ ,M 2,000,000≦ ),代表 這個網路有幾台電腦,M代表有幾個通訊道路被天使軍團所中斷。

接下來有M行,分別代表M條被切斷的通訊道路。每行有兩個正整 數a,b(1 a,b N, a≠b≦ ≦ ),代表a電腦無法直接連到b電腦(注意!

並不代表說b無法直接連回 a)。

※注意:一個通訊道路可能被切斷多次。

輸出檔格式 (defend.out)

對於每筆輸入檔,請輸出病毒遍歷電腦的順序,每行一台電腦編號,

好讓Ophan他來淨化電腦。

輸入檔範例 1 輸入檔範例 2

4 4 5 4

1 2 1 2

1 3 1 3

2 3 1 4

3 4 1 5

輸出檔範例 1 輸出檔範例 2

1 1

4 2 3

(9)

題目四:房屋定價(House4

輸入方式:house4.in 輸出方式:house4.out

問題描述

在你在外面出差(遊玩)的這段時間,把公司的事物都拋到九霄雲外去 了,什麼事都交給員工們自行處理。

就拿決定房子的價錢來說好了,你出發前跟員工說的方法是:好房子 的價格不能比壞房子低,且為了滿足各種人士的需要,價格越多種越 好。

所以留在公司的員工們要依據這個原則來定價錢,但什麼是好房子?

什麼是壞房子呢?

這會依據每人的主觀而有不同認定,像是猪媽媽認為猪小弟的房子比 猪大哥的還好,但大野狼卻認為猪大哥的房子比猪小弟好。

為了解決這種問題,最後員工們決定採用一種方法:

1. 先讓每個員工去調查兩棟房子,然後讓他們根據兩棟房子的風 水、建材、環境等訂出哪個房子比較好並回報。

2. 然後找出一種價格滿足每個員工的調查結果,並根據你給的原 則,希望價格越多種越好。

現在問題來了,他們想知道午餐要訂哪個比較划算?

他們想知道最多能有多少種不同的價格呢?

P.S.你以前是用擲骰子決定價格的。

(10)

輸入檔格式 (house4.in)

第一行有兩個數N、M(0 < N,M ≦1000000),代表有多少棟房子要定 價(房子的編號為1~N)和多少條員工回報的消息。

接下來M行每行有兩個數xi和yi,代表該員工認為編號為xi的房子 比編號為yi的房子好。(1 x≦ i, yi≦N)

輸出檔格式 (house4.out)

對於每筆輸入檔,請輸出最多能有幾種不同的價錢滿足所有員工的調 查結果。

輸入檔範例 1 輸入檔範例 2

3 2 3 3

1 2 1 2

2 3 2 3

3 1

輸出檔範例 1 輸出檔範例 2

3 1

備註

由於作業疏失,一個員工可能會調查兩間相同的房子,以至於有xi等於yi

的情況出現。

(11)

題目五:安慰的學問(Comfort

輸入方式:comfort.in 輸出方式:comfort.out

問題描述

胖胖點上次告白的信好不容易寫完了,但是確因為太過膽小而沒膽送 出去。而且經過學長與學姊的教導後,他覺得如果急著與一個女生交 往,那可能會因為太過焦急而造成女生討厭,而且這樣急就章的感情 絕對不會緊密,可能交往不久後就因為失去感覺而分手。專情的胖胖 點當然不希望發生這種事,因此決定要先和女生好好培養感情,等到 時候到了,該是他的就是他的。

當然了,要讓女生對他有感覺,首先就 是要從生活上的小細節開始做起,重要 的事要讓女生覺得你很貼心,開心的時 候不說,比較重要的是,能夠在適當的 時候安慰她,讓她在傷心的時候自動向 你訴苦,讓她覺得你是有「肩膀」的男 人!

胖胖點觀察幾個月下來,發現女生心情好與不好會有某個神秘週期,

而且經由學姐專業精闢的分析之後,胖胖點紀錄了他的心上人的每個 時間點的心情變化,並且用兩個數字來表示:

1.Sad指數:代表這個時間點的傷心程度,越大代表越悲傷,當然有可 能很快樂,所以有可能是負的。

2.Trouble指數:代表這個時間點的心煩程度,恩因為煩惱不可能不見

,所以這不可能是負的,而且我們可以假設所有時段 Trouble指數都不會相同,而且一定大於0

而某段時間區間中的「安慰適合度」是代表這段時間的傷心指數和÷ 段時間的最大Trouble指數。

(12)

聽學姊說,如果能夠在女生最適合被安慰的時候安慰她,她就會愛上 你。心動的胖胖點當然不會錯過這個好機會,因此他決定要找出女生 在所有可能的時間段中最大的安慰適合度,並且在那個時間段中去安 慰女生,以獲得女生的芳心。

不過胖胖點對於女生的事情很不擅長,所以請問你是否有辦法幫他求 出最大的安慰適合度呢?

※註:以上故事純屬虛構,如有雷同,純屬巧合XD

輸入檔格式 (comfort.in)

第一行有一個正整數N(N≦5,000,000),代表胖胖點紀錄了N個時 間點女生心情的變化。

第二行中有N個整數,代表女生N個時段的Sad指數(每個數不超過 int範圍)。

第三行中有N個正整數,代表女生N個時段的Trouble指數(每個數 都不超過int範圍)。

輸出檔格式 (comfort.out)

對於每一筆輸入檔,請輸出最大的安慰適合度到小數點後三位,以讓 胖胖點贏得美人芳心。

輸入檔範例 1 輸入檔範例 2

4 6

1 2 3 4 9 -2 3 7 -4 8

5 6 7 8 1 2 6 3 5 4

輸出檔範例 1 輸出檔範例 2

1.250 9.000

Referensi

Dokumen terkait

第貳部分(占 40 分) 說明:第 16 題至第 25 題,每題 4 分。單選題答錯、未作答或畫記多於一個選項者, n  2k 該題以零分計算;多選題每題有 n 個選項,答錯 k 個選項者,得該題 的分 n 數;但得分低於零分或所有選項均未作答者,該題以零分計算;非選題配分標 於題末。此部分得分超過 40 分以上,以滿分 40 分計。 16~19 題為題組

十一曲譜選擇及使用:所有參賽演出人員須遵守中華民國之著作權相關法規規定,所 有指定曲及自選曲樂譜一律採用原版或經授權得於中華民國境內使用之樂譜。若 有本會免費提供之指定曲譜,其僅限於本屆比賽合法使用。違反著作權法等相關 規定者,其法律責任須自行負責。另參賽者毋需再提供大會自選曲曲譜。 四、分項規則 (一)團體項目 1.團體項目總合演出時間為 20