# 程式測驗(一) ## 範圍 ``` 1.輸入輸出、基本語法 2.array 3.max min 4.swap 5.二維陣列 6.array計算次數方法 7.char Ascii Code編號 8.一部分 string ``` <br> ## 題目一 ### 題目敘述 ``` 為了消磨時光,奶牛Bessie和她的朋友Elsie喜歡玩一種她們在農業 展覽會上看到的遊戲。遊戲準備階段,Bessie在桌子上放置三個倒置 的堅果殼,並在其中一個堅果殼下面藏了一塊小的鵝卵石(至少她希望 這是一塊鵝卵石——她在一塊牧場的地上找到的)。 隨後Bessie會兩 兩調換堅果殼,同時Elsie試著去猜鵝卵石的位置。 奶牛們在農業展覽會上看到的這個遊戲的標準形式是玩家可以看到鵝卵 石初始的位置,然後要求玩家猜所有交換完成之後鵝卵石最終的位置。 然而,現在奶牛們想要去進行這樣一種玩法,Elsie不知道鵝卵石的初 始位置,同時她可以在每一次交換之後猜一下鵝卵石的位置。 Bessie 知道正確答案,在遊戲結束後會給Elsie一個分數,等於她猜對的次 數。 給定所有的交換和Elsie的猜測,但是不給出鵝卵石的初始位置,請求 出Elsie最高可能獲得的分數。 ``` ### 輸入格式 輸入的第一行包含一個整數N,為交換的次數(1≤N≤100)。 以下N 行每行描述了遊戲的一個回合,包含三個整數a、b和g,表示Bessie 交換了堅果殼a和b,然後Elsie猜的是堅果殼g。 所有這三個數均為 1、2、3之一,並且a≠b。 ### 輸入 ``` 3 1 2 1 3 2 1 1 3 1 ``` ### 輸出 ``` 2 ``` <br> ## 題目二 ### 題目敘述 ``` 農業,尤其是生產牛奶,是一個競爭激烈的行業。 Farmer John發 現如果他不在牛奶生產工藝上有所創新,他的乳製品生意可能就會受 到重創!幸運的是,Farmer John想出了一個好主意。 他的三頭獲 獎的乳牛,Bessie、Elsie和Mildred,各自產奶的口味有些許 同,他打算混合這三種牛奶調製出完美的口味。為了混合這三種不同 的牛奶,他拿來三個桶,其中分別裝有三頭奶牛所產的奶。 這些桶可 能有不同的容積,也可能並沒有完全裝滿。 然後他將桶1的牛奶倒入 桶2,然後將桶2中的牛奶倒入桶3,然後將桶3中的牛奶倒入桶1,然 後再將桶1的牛奶倒入桶2,如此週期性地操作,共計進行100次(所 以第100次操作會是桶1倒入桶2)。 當Farmer John將桶a中的牛 奶倒入桶b時,他會倒出盡可能多的牛奶,直到桶a被倒空或是桶b被倒 滿。 請告訴Farmer John當他倒了100次之後每個桶里將會有多少牛奶。 ``` ### 輸入格式 ``` 輸入檔的第一行包含兩個空格分隔的整數:第一個桶的容積c1,以及 第一個桶里的牛奶量m1。c1和m1均為正,並且不超過109。 第二和 第三行類似地包含第二和第三個桶的容積和牛奶量。 ``` ### 輸出格式 ``` 輸出三行,給出倒了100次之後每個桶里的牛奶量。 ``` ### 輸入 ``` 10 3 11 4 12 5 ``` ### 輸出 ``` 0 10 2 ``` ### 演示 ``` 在這個例子中,每倒一次之後每個桶里的牛奶量如下: 初始状态: 3 4 5 1. 桶1->2: 0 7 5 2. 桶2->3: 0 0 12 3. 桶3->1: 10 0 2 4. 桶1->2: 0 10 2 5. 桶2->3: 0 0 12 ``` <br> ## 題目三 ### 題目敘述 ``` Farmer John 正試圖通過給奶牛 N 塊用於學齡前兒童的拼寫板 (1≤N≤100). 每塊板的每一面都有一個詞和一個圖像。 例如,一面 可能有“cat”這個詞和一張貓的圖片,另一面可能有“dog”這個詞和 一張狗的圖片。 為了幫助奶牛拼寫,農夫約翰想製作一些木塊,每塊木塊上都壓上一 個字母。 他想為每個字母製作足夠多塊,以便無論哪一組單詞,奶牛 將足夠拚出所有單詞。 例如,如果 N=3 並且 “box”、“cat”和“car”這些詞,奶牛至少需 要“b”一塊,“o”一塊,“x”一塊,“c”兩塊,'a'兩塊、't'一塊 和'r'一塊。 請幫助農夫約翰確定他需要提供的每個字母的最少塊數,這樣無論每 塊板顯示的是哪一面,奶牛都可以拼出所有可見的話。 ``` ### 輸入格式 ``` 第 1 行包含整數 N,接著每行包含 2 個由空格分隔的單詞,使這兩個單詞位於板的相對兩側。 每個單詞都是最多 10 個小寫字母的字符串。 ``` ### 輸出格式 ``` 每個字母需要的個數 ``` ### 輸入 ``` 3 fox box dog cat car bus ``` ### 輸出 ``` a 2 b 2 c 2 d 1 f 1 g 1 o 2 r 1 s 1 t 1 u 1 x 1 ``` <br> ## 題目四 ### 題目敘述 ``` 把矩陣放大K倍 ``` ### 輸入格式 ``` 輸入整數 M N K 再輸入MxN的陣列 ``` ### 輸出格式 ``` 輸出 放大K被的 MxN 陣列 (KM x KN) ``` ### 輸入 ``` 5 4 2 XXX. X..X XXX. X..X XXX. ``` ### 輸出 ``` XXXXXX.. XXXXXX.. XX....XX XX....XX XXXXXX.. XXXXXX.. XX....XX XX....XX XXXXXX.. XXXXXX.. ``` <br> ## 題目五 ### 題目敘述 ``` 小明最近在遊戲商店中找到一款找單字的遊戲,這款遊戲給定一個R×C 的表格,其中每一小格中皆會塞入一個英文字母,玩家的目標是在給定 的表格中找到指定的單詞。令表格左上角座標為 (1, 1),最右下角座 標為 (R, C)。從每個方格往八個方向直線出發(左上、上、右上、 左、右、左下、下、右下),不可中途轉彎。若發現有比對相符之單詞 (不論英文大小寫),則輸出該單詞之第一個字母所在的方格座標以及最 後一個字母所在的方格座標為答案。舉例來說,若表格內容如下: a b g c a t g h t 假定要尋找之單詞為「cat」,可發現方格座標 (2, 1) 向右到方格 座標 (2, 3) 的字母內容為 cat。 若於方格中找到多組單詞: 1. 先比對這些組別之第一個字母之座標,以列座標最小那一個座標為答案若列座標皆相同,以行座標最小那一個座標為答案,請參考輸入範例 5 及其說明。 2. 若第一個字母座標皆相同,則比較最後一個字母之座標。以列座標最小那一個座標為答案;若列座標皆相同,以行座標最小那一個座標為答案。 3. 若無法找到指定單詞,請輸出 NO。 給定方格大小以及方格的內容,請你撰寫程式判斷是否能找到指定的單詞與單詞的開始和結束座標。 ``` ### 輸入格式 ``` 輸入第一列有兩個整數 R 與 C (1 ≤ R ≤ 75, 1  C ≤ 75),代 表這個方格由上而下有 R 列,由左而右有 C 行,總共劃分成 R×C 個小格子。接下來的 R 列,每列有 C 個字元,只會是大寫或小寫英文 字母。接著有一個最長不超過 74 個字元所組成的字串,代表要尋找 的單詞。 ``` ### 輸出格式 ``` 根據遊戲規則,若找到對應的單詞,請輸出找到單詞的第一個字母之座 標以及單詞最後一個字母之座標,同一座標中數字與數字間以一個空白 隔開,兩個座標間以一個換行字元隔開。 ``` ### 輸入 ``` 9 9 Opotiogke qPoaobono fdElccoeq fadRflhre xvgrAakve ytrhgTtog trggrtIht trgfgryOt oqpddfroN operation ``` ### 輸出 ``` 1 1 9 9 ``` <br> ## 題目六 ### 題目敘述 ![](https://i.imgur.com/RcGipew.png) ### 輸入格式 ![](https://i.imgur.com/6sjzqXf.png) ### 輸出格式 ![](https://i.imgur.com/prvsTRt.png) ### 輸入一 ``` 6 4 .... ..CP .... PC.. ...P ...P ``` ### 輸出一 ``` 2 ``` ### 輸入二 ``` 6 4 PPPP PPPP PPP. PPP. ...C P... ``` ### 輸出一 ``` 1 ```