注意事項 一、本比賽系統採用PC2,所使用的 I/O 是標準輸出輸入裝置,所以可以使用C 語言的scanf ( ) 、printf ( ) ,或是C++語言上的 cin、cout來 讀入及輸出資料, 比較要注意的是:本系統並不是用人工方式來keyin資料,所以不必在意使 用者界面的問題,也就是說不用印出像是 "Please enter a number" 或 "The answer is"...之類的文字;此外,有些題目是以讀到 EOF 為 input 結束, 有些是讀入0結束等等的,必需善用I/O函式. 二、PC2系統判定錯誤可能原因: 正確答案 錯誤答案 三、PC2系統判定結果說明: 結果 說明 Yes 解題正確 No - Compilation Error 錯誤:編譯錯誤 No - Run-time Error 錯誤:程序運行錯誤 No - Time-limit Exceeded 錯誤:運行超時 (每道題都有運行時間限制) No - Wrong Answer 錯誤:運行結果與標準答案不一致 No - Excessive Output 錯誤:程序運行佔用內存空間超出要求 No - Output Format Error 錯誤:輸出格式錯誤 No - Other - Contact Staff 未知錯誤 矩形圖說文字: 多空白 多空白 結尾沒有 換行字元 多換行字元 假設題目 要求結尾有 換行字元 Problem 1. 最遠的兩點 (Time Limit: 5 seconds) 問題描述: 寫一個程式讀入各點座標,找出其中距離最遠的兩個點,輸出此兩點間距離的平 方值。例如:若最遠的兩點座標分別為1, -1和2, 3,因( 2-1 )2 + ( 3 - (-1) )2 = 1 + 16 = 17,故輸出17。 輸入說明: 第一行為一個正整數N,代表共有幾組測試資料。之後接下來有N行,每行中第 一個為正整數M(2 . M . 20),代表該組資料共有M個點,接下來有2M個整 數,分別代表各頂點的x和y座標。 輸出說明: 每個測試資料結果輸出於一行。 範例: Sample Input: Sample Output: 2 2 1 -1 2 3 8 0 0 1 2 5 10 -2 4 6 -3 -4 -5 -6 -2 -3 12 17 306 Problem 2. Maximum Consecutive Sum (Time Limit: 5 seconds) Background: Imagine a series of n numbers (x1, x2, x3, x4, ... xn) called set S. We want to find the subset S' of set S such that the sum of the members of set S' is greater than the sum of numbers in any other subset of the original set S. If all the members of S are positive then set S' will be the entire S set. However, when negative values are included in S this problem becomes more interesting and difficult to solve. Problem Description: There is an integer array. We want to find a consecutive subsequence in it, which have the maximal sum in all subsequences. For example, an array like this : -1, 5, 7, -2, 8, -2, 1, -5, -8, 4, 6, -2, the consecutive subsequence sum have (-1)+5 = 4, (-1)+5+7+(-2)+8=17, 5+7=12,…etc. And the Maximum consecutive sum in this array is 5+7+(-2)+8=18 Technical Specification: 1. Solve this problem in time complexity O(n3). 2. The input array has elements less than 100. 3. The worst case of output is 0. ( output will bigger than 0. ) Input Format: A string contains integers with space to separate. Output Forma: An integer which is the answer of the given. Sample: Sample Input: Sample Output: -8 6 -5 -2 8 -7 3 -3 -8 -8 8 -2 -3 -1 -1 -3 -2 -3 -3 0 Problem 3. 判斷座標是否在圓形的範圍內 (Time Limit: 5 seconds) 問題描述: 有一圓形,直徑為200,且中心座標為(0,0)。請寫一支程式可以輸入「點」的座 標,並判斷「點」是否在圓形的範圍內。如果「點」的位置剛好在邊界的話也算 是在圓形範圍內(例:x=100,y=0)。 輸入說明: 輸入一整數座標,依序分別x與y。( x, y . 300 ) 輸出說明: 輸出此座標位置在圓內(inside)或圓外(outside)訊息。 範例: Sample Input: Sample Output: 50 50 inside 200 200 outside Problem 4. 熄燈 (Time Limit: 5 seconds) 問題描述: 在一個10*10的矩陣中,總共有100個燈泡,這些燈泡的開關被設計成當按下某 個開關時,該燈泡以及其上、下、左、右的燈泡都會同時被切換,意即關閉的燈 泡會被開啟或開啟的燈泡會被關閉。已知若干個燈泡已被開啟,請設計一個程式 計算至少要操作開關幾次才能夠全部關閉。(以#表示未開啟,以0表示已開啟) 輸入說明: 輸入為10列文字,其中每一列有10個字(0或#),列與列之間有換行。詳細請 參考範例。 輸出說明: 請輸出最小需要操作開關的次數數字。 範例: Sample Input: Sample Output: ########## ########## ########## ########## ########## ########## ########## ########## ########## ########## 0 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 44 0000000000 0000000000 0000000000 #0######## 000####### #0######## ####0##### ###000#### ####0##### #0######## 000#####0# #0#####000 ########0# 4 Problem 5. 集點優惠 (Time Limit: 5 seconds) 問題描述: 超商有許多集點活動刺激買氣,現在「快樂超商」也正在舉辦限期集點優惠活動。 口香糖每條一元,每條口香糖包裝紙內有一張精美貼紙,累積六張貼紙就可再換 一條口香糖。現在請你寫一個程式幫來的客人算算看他們帶來的錢最多可以買加 換到幾條口香糖?還剩下多少張貼紙? 輸入說明: 輸入資料含多組測試案例。每組測試案例為一個整數,代表所帶的錢數,若為0 代表所有測試案例結束。 輸出說明: 每組測試案例輸出兩個整數,第一個為所買及換到的口香糖總數,第二個為剩下 的貼紙數,兩數間空一個空格。每組測試案例輸出於一行。 範例: Sample Input: Sample Output: 20 41 0 23 5 49 1