台北市九十八學年度高中資訊學科能力競賽程式設計試題
Bebas
12
0
0
Teks penuh
(2) 建國中學資訊科校內培訓第六次模擬競賽. 第 2 頁 共 12 頁. 注意事項 一、此競賽採部分電腦線上自動評分,因此參賽選手應嚴格遵守每一題目 所規定之目錄、執行檔、輸入檔、輸出檔之路徑、名稱及格式。若未 遵守,該題可以 0 分計算。 運算式樹. 迴轉壽司. 房屋尋找. 真房屋尋找. 拖吊公司. Express. Sushi. House5. House6. Towing. 目錄. ---. ---. ---. ---. ---. 可執行檔. express.exe. sushi.exe. house5.exe. house6.exe. towing.exe. 輸入檔. express.in. sushi.in. house5.in. house6.in. towing.in. 輸出檔. express.out. sushi.out. house5.out. house6.out. towing.out. 總分. 25. 25. 25. 25. 25. 題目. 二、針對每一題所完成之程式,其每一筆測試資料的執行時間以 10 秒為限 。執行時間超過 10 秒者視同未完成,該筆測試資料將以 0 分計算。 所規定之目錄、執行檔、輸入檔、輸出檔之路徑、名稱及格式。若未 遵守,該題可以 0 分計算。 三、競賽結束後,參賽選手應在指定的時間內與評審 共同進行程式測試與評 審作業。 四、每一筆測試資料沒有部分給分,但每一題可以只答對部分的測試資料。. 建中校內培訓模擬競賽特殊規則: 一、比賽途中請將程式碼上傳到 http://math120908.infor.org/JudgeOnline/ 系統,比賽結束後將以最後一次上傳的程式碼為評分依據,逾期不以計 算。(注意:是上傳程式碼(.cpp)而非執行檔(.exe),請勿搞混) 二、比賽途中對題目有任何問題可以至上述網址發問,上述網址亦有備份 程式碼的功能,請隨時記得備份。 三、結束後會統一評測,方式為讀檔寫檔,請依照上方表格以及各題題目名 稱下方的輸出、輸出檔名作輸入、輸出。.
(3) 建國中學資訊科校內培訓第六次模擬競賽. 第 3 頁 共 12 頁. 題目一:運算式樹(Express) 輸入方式:express.in 輸出方式:express.out. 問題描述 對於要計算一個東西時我們往往會列出一個運算式,而這個運算式必頇 要依照括弧先做、再做乘除、最後加減的動作。為了簡化問題,所以我 們假設下面敘述只會用到「加」、「乘」跟「括弧」。 我們可以定義,如果一個式子為下列情形,則此式為一運算式: 1.. 一個數字. 2.. 運算式+運算式. 3.. 運算式×運算式. 4.. (運算式). 對於一個運算式,我們可以把他畫成一棵樹的樣子,叫做運算式樹 (Expression Tree),而這個樹的特性就是除了葉子之外的節點都是運算 子,所有葉節點都是要數字。且這棵樹的中序表示法即為此運算式。 然而因為運算子有優先順序,所以常常會自動省略一些括弧,例如(1+2) 會寫成 1+2,(1+(2×3) )可以直接寫成 1+2×3。雖然這樣做很方便,但是運 算式樹很明顯的就會因此而不唯一了。例如「1×(2+3)+4+5×6」就有下 面兩種表示法:. 左圖為(1×(2+3)+(4+(5×6) ) );右圖為( (1×(2+3)+4)+(5×6) ) 現在給你一個運算式,請問這個運算式最多可以畫出幾種運算式樹呢? 為了方便,所以你只需要輸出可能狀況數除以 M 的結果就好了。.
(4) 建國中學資訊科校內培訓第六次模擬競賽. 第 4 頁 共 12 頁. 輸入檔格式 (express.in) 輸入包含兩行,第一行包含一正整數 M(M ≤ 10000000)。 第二行包含一個運算式(假設 + 跟 * 個數不超過 5000)。 (運算子 × 在測試資料中將以 * 表示) 輸出檔格式 (express.out) 輸出一數代表所有可能運算式樹的數量除以 M 的商數。. 輸入檔範例 1 38 1+2+3+4+5+6+7+8. 輸入檔範例 2 13 1*(2*3*4*5*6*7)*8. 輸出檔範例 1 11. 輸出檔範例 2 6.
(5) 題目二:迴轉壽司(Sushi) 輸入方式:sushi.in 輸出方式:sushi.out. 問題描述 最近 120yen Battle Fury 在 ACM-ICPC 亞洲賽區的德黑蘭賽區(Tehran Site)拿到了第一名的寶座,更厲害的是他們在三小時內就破台了,因為 實在是太超過太犯規了,所以免不了的就是要請大家吃一頓飯了 XD。 這次 ACM 培訓班的成員與亂入的 Kiwigo 來到了一家迴轉壽司店,決定 要大吃特吃,愛吃壽司的胖胖郭還因此而前一晚期待的睡不著覺呢!. 到了餐廳吃後胖胖郭搶到了一個好位子,而且他有個習慣,總喜歡一次 就連續拿一段壽司(因為這會讓後面的人都很囧的看到過來都空盤子, 然後他就會有爽感),但是胖胖郭人還算不錯,他只會拿一次就不會在 拿了,當然反面來說,他拿的那次他就會使自己盡量的吃飽! 而且胖胖郭雖然胖,但是他食量其實不會很大,吃飯總是只喜歡吃到 k 分飽而已,而 k 分飽怎麼定義呢? 在迴轉壽司店裡,假設他看得到接下來的 n 個盤子上面的東西,他會很 快速的給每一個食物標上一個「美味度」,當然有可能有他不喜歡的, 所以值不一定是正的。然後「吃飽度」的定義就是說連續幾個壽司的美 味度和相加的平方,要注意的是雖然是迴轉壽司,但是這 n 個壽司是不 相連的,所以其實不能說是環狀的。.
(6) 建國中學資訊科校內培訓第六次模擬競賽. 第 6 頁 共 12 頁. 而 k 分飽的意思就是,所有可能吃飽度的第 k 大的那個(如果吃飽度相 同,但是拿的東西不一樣,那其實可以視為不同)。 不過對於可憐的胖胖郭來說,要找到第 k 大的吃飽度實在太困難了,請 問你是否有辦法幫他找到第 k 大的吃飽度呢 XD?. ※註:以上內容純屬虛構,如有雷同,純屬巧合 XD。 輸入檔格式 (sushi.in) 第一行包含兩個正整數 n、k(n ≤ 2000000, k ≤. n( n 1) ),分別表示 2. 胖胖郭所看到 n 個壽司,並且想到吃到 k 分飽。 接下來一行包含 n 個數,代表 n 個壽司的美味度(不超過 int 範圍)。. 輸出檔格式 (sushi.out) 因為胖胖郭人很好,所以只需要輸出一數代表吃到第 k 飽的吃飽度的開 根號就好了(四捨五入到整數位)。. 輸入檔範例 1 41 1 2 -4 50. 輸入檔範例 2 4 10 1 2 -4 50. 輸出檔範例 1 50. 輸出檔範例 2 1.
(7) 題目三:房屋尋找(House5) 輸入方式:house5.in 輸出方式:house5.out. 問題描述 成者為王,敗者為寇。 因為上次你在比大小中輸了,不但輸掉了手中所有的房子,更被冠上 一個比賽作弊的罪名。(雖然你真的有作弊) 窮困潦倒的你,一方面在躲避追捕,一方面在想辦法扭轉情勢。有錢 能使鬼推磨,你只要有錢,就可以依靠超強的外交手段來改變情勢, 但你現在手上只剩少少的幾塊錢,在如此艱困的情況下,你想起了每 個房屋業者都聽過的傳說:黃金屋。 從前從前,在某一個沙漠中的綠洲,有一棟黃金屋。 故事當然不會這個短,但你只記得這麼短,現在的你也只能選擇相信 這個傳說,如果真的找到這個黃金屋,那你就發了。 心動不如馬上行動,你立刻買了個地圖,標示了附近綠洲的位置,決 定遍訪每一個綠洲來找尋那間傳說中的屋子。 但是麻煩的是,綠洲跟綠洲間必頇要穿越很長的一段沙漠,途中沒有 食物也沒有水,飢餓你可以受的了,但渴絕對受不了! 所以你決定再用那少之又少的錢買一個水壺,你當然希望水壺越便宜 越好,但是相對的便宜的水壺能裝的水也較少。 你計算出從一個綠洲到另一個綠洲途中需要喝多少的水,而你到每個 綠洲後又可以把水壺裝滿,現在你想知道你至少需要一個多少容量的 水壺才能讓你成功的遍訪所有綠洲。 輸入檔格式 (house5.in) 第一行有兩個正整數 N(0<N≦1000),M(0<M≦1000000),N 是代 表總共有幾個綠洲(編號為 1~N),M 是代表有幾條路徑聯接綠洲與 綠洲。.
(8) 建國中學資訊科校內培訓第五次模擬競賽. 第 8 頁 共 12 頁. 接下來有 M 行,每行有三個數 Xi、Yi、Li,代表編號 Xi 的綠洲和編 號 Yi 的綠洲之間有一條路徑,而你需要喝 Li 的水才能走過這條路徑。 (1≦Xi、Yi≦N)(Li 為可用 int 儲存的正整數). 輸出檔格式 (house5.out) 假設你剛開始在編號為 1 的綠洲上,請輸出至少需要一個多少容量的 水壺才能成功的遍訪所有綠洲,如果無論如何都無法達成目標,請輸 出 ”Oh no!”。(不含雙引號) 輸入檔範例 1 31 123. 輸入檔範例 2 33 123 329 314. 輸出檔範例 1 Oh no!. 輸出檔範例 2 4.
(9) 建國中學資訊科校內培訓第六次模擬競賽. 第 9 頁 共 12 頁. 題目四:真房屋尋找(House6) 輸入方式:house6.in 輸出方式:house6.out. 問題描述 不妙的是,在你出發前就被盯上了! 追捕你的人讓你沒辦法悠閒的遍訪所有綠洲,所以你只好依靠你的直 覺:黃金屋一定是在編號為 N 的綠洲上! 雖然只到一個綠洲這樣躲避追捕的機率會變大,但總成功機率還是少 之又少,於是你從懷裡掏出了祖傳秘方,那是一個罐子,裡面有 K 顆 維他命,那是可以讓你極度興奮的維他命,吃一顆你的速度就會變成 兩倍,吃兩顆就會變成四倍。 但這種維他命卻有一個缺點,每到一個綠洲因為有環境冷卻的關係就 會失效,也就是說一顆維他命只有一條路的效力。 現在你想知道,在這種維他命的幫助之下,你最快能用多久的時間到 達編號為 N 的綠洲。 P.S.你一開始的速度是 1,需要用 L 的時間才能跑完長度為 L 的路徑, 但如果你吃了一顆藥後,那只要 L/2 的時間就能跑完長度為 L 的路徑 了。 P.S.2 那真的是維他命。. 輸入檔格式 (house6.in) 第一行有三個正整數 N(0<N≦1000)、M (0<M≦10000)、K (0≦K≦10),N 是代表總共有幾個綠洲(編號為 1~N),M 是代表 有幾條路徑聯接綠洲與綠洲,K 是代表你手中有幾顆維他命。 接下來有 M 行,每行有三個數 Xi、Yi、Li,代表編號 Xi 的綠洲和編 號 Yi 的綠洲之間有一條長度為 Li 的路徑。(1≦Xi、Yi≦N)(Li 為 正整數且 Li≦100000).
(10) 建國中學資訊科校內培訓第六次模擬競賽. 第 10 頁 共 12 頁. 輸出檔格式 (house6.out) 假設你剛開始在編號為 1 的綠洲上,請輸出至少需要多久才能到達編 號為 N 的綠洲(請四捨五入到小數第二位),如果無論如何都無法達 成目標,請輸出 ”Oh no!”。(不含雙引號). 輸入檔範例 1 311 129. 輸入檔範例 2 322 126 3 2 100. 輸出檔範例 1 Oh no!. 輸出檔範例 2 31.00. 備註 範例 2 把兩顆維他命都用在 3-2 這條邊上,總時間為 6+100/2/2=31 在綠洲會失效的原因:.
(11) 建國中學資訊科校內培訓第六次模擬競賽. 第 11 頁 共 12 頁. 題目五:拖吊公司(Towing) 輸入方式:towing.in 輸出方式:towing.out. 問題描述 Einbahnstraβe 這個字在德文中意指「單行道」,意思就是一條對於 所有交通工具,在該條路上都只能往同一個指定的方向移動。而之所 以會產生這種有特殊限制的道路,不外乎就是希望能夠紓解在鬧區壅 擠的交通,而這特別適用於市中心,尤其是對於一些較古老的而言。 謹慎的道路規劃理論上能保證讓你可以從某個地點走到另一個任意地 點,雖說如此,對於這種單行道,駕駛們還是必頇仔細計劃他們的行 車路線以免多走許多冤枉路。 有經驗的駕駛都知道,任意兩個地點之間可能存在有不只一條路徑能 夠通行,不僅如此,對於固定的兩個地點之間也有可能存在著多條道 路。而知道兩個地點之間的最短路徑這件事是需要的!尤其是對於大 型交通工具的駕駛員們而言(大貨車、垃圾車、拖吊車等)。 你是一家拖吊汽車公司的新員工,這家公司擁有很多台拖吊用的卡車 停放在車庫中,拖吊卡車會吊起壞掉汽車的前輪或後輪以將該壞車直 接拖回拖車公司的車庫。 現在,你收到了很多來自城市中的各個地方,需要拖吊壞掉車輛的通 知,而這些汽車必頇按照收到通知的順序依序拖吊。而你的工作正是 引導拖吊卡車的駕駛,讓駕駛能夠走最短距離的路徑來接收這一些壞 掉的車輛。在每一天下班時,你必頇回報管理部門今天一整天卡車行 走的總距離。.
(12) 建國中學資訊科校內培訓第六次模擬競賽. 第 12 頁 共 12 頁. 輸入檔格式 (towing.in) 對於每一筆測試資料,第一行有三個整數 N、C 和 R,各以一個或多 個空白分開。這個城市有 N 個名稱皆不同的位置,包括公司的車庫。 C 是壞掉的車輛數。R 是這個城市中的道路條數,注意 0 < N < 500、 0≦C≦10,000 以及 R < 100,000。 第二行有 C+1 個字串代表地點的名稱,第一個字串代表公司車庫的所 在地,接下來依序是各待拖吊汽車的所在地,各地點名稱的字串長度 都不會超過 20,且皆由大、小寫英文字母組成。 第三行開始總共有 R 行,每一行都代表一條道路的資訊。一條道路可 能有以下三種格式: A -v -> B A <-v - B A <-v -> B A 與 B 是兩個不同地點的名稱,而是 v 則是一個不超過 10000 的正整 數代表該條道路的長度。第一種格式代表有一條單行道從 A 到 B、第 二種格式代表有一條單行道從 B 到 A,而最後一種則是指有 A、B 之 間有一條雙向道路連接它們。A、「箭頭」和 B 之間以一個或多個空 白分開。 輸出檔格式 (towing.out) 對於每一筆輸入檔,請輸出一個整數 V 代表總行車距離。 輸入檔範例 1 425 NewTroy Midvale Metrodale NewTroy <-20-> Midvale Midvale --50-> Bakerline NewTroy <-5-- Bakerline Metrodale <-30-> NewTroy Metrodale --5-> Bakerline. 輸入檔範例 2 212 Prontera Izlude Prontera -27-> Izlude Izlude -37-> Prontera. 輸出檔範例 1 80. 輸出檔範例 2 64.
(13)
Dokumen terkait
老師生動活潑的教導,使我們在高中生活有了知性與感性的學 習,是我們最大的榮幸與收穫。感謝金群導師讓我們找到未來 的人生目標及努力勇往直前。或許現在的我們,不是最優秀的, 我們相信未來的前途必定會如同等加速度一般,達到最佳的成 就,更感謝老師為我們的付出與指導,讓我們在高中生涯劃下 一個完美的句點。 By302 有人說:再見是為了下一次更美好的遇見;也有人說:五百次