108學年度武陵資訊學科能力競賽上機考題目分享

Posted on Sep 13, 2019

pA:十八啦

輸入

四顆骰子的點數情形

輸出

  1. 若四顆骰子中只有其中兩顆骰子點數相同,則輸出另外兩顆骰子之點數和
  2. 若四顆骰子中有兩組相同點數的話,則輸出點數和較大的那一組
  3. 若四顆骰子的點數皆相同,則輸出WIN
  4. 若只有三顆骰子的點數相同或四顆骰子點數都不同,則輸出R

範例輸入及輸出

範例輸入範例輸出
1 1 1 1WIN
1 1 1 3R
1 2 3 4R
1 1 2 24
1 2 3 33

pB:線段分割

輸入

一個正整數

輸出

對於輸入正整數之不重複切割方案之最大分割數

範例輸入及輸出

範例輸入範例輸出
11
104
73
155
6010

Hint:

  • 1 = 1
  • 10 = 1 + 2 + 3 +4
  • 7 = 1 + 2 + 4
  • 16 = 1 + 2 + 3 + 4 + 6
  • 60 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 15

pC:迴文判斷

我們說一個字串是一個迴文字串的意思是這個字串經過反轉後,會與原字串長一模一樣。

例如: AABBAA、baab、aba、12321、12a21 都是迴文字串 apple 則不是

輸入

很多個字串

輸出

如果這個字串是一個迴文字串,那就輸出YES,反之,則輸出NO

pD:螺旋矩陣

我們稱下面這個東西叫一個寬度為7的順時針螺旋矩陣

001,002,003,004,005,006,007
024,025,026,027,028,029,008
023,040,041,042,043,030,009
022,039,048,049,044,031,010
021,038,047,046,045,032,011
020,037,036,035,034,033,012
019,018,017,016,015,014,013

這個則為寬度為7的逆時針螺旋矩陣

001,024,023,022,021,020,019
002,025,040,039,038,037,018
003,026,041,048,047,036,017
004,027,042,049,046,035,016
005,028,043,044,045,034,015
006,029,030,031,032,033,014
007,008,009,010,011,012,013

輸入

兩個正整數 $n, m$ ($n \leq 30, m = 1, 2$)

$n$ 代表螺旋矩陣的寬度

$m$ 代表螺旋矩陣的方向($m = 1$時為順時針,$m = 2$時為逆時針)

輸出

用逗號分隔的螺旋矩陣,且要用0將每個數字補成三位數,注意,行尾不能有逗號。

範例輸入及輸出

範例輸入範例輸出
10 1001,002,003,004,005,006,007,008,009,010 036,037,038,039,040,041,042,043,044,011 035,064,065,066,067,068,069,070,045,012 034,063,084,085,086,087,088,071,046,013 033,062,083,096,097,098,089,072,047,014 032,061,082,095,100,099,090,073,048,015 031,060,081,094,093,092,091,074,049,016 030,059,080,079,078,077,076,075,050,017 029,058,057,056,055,054,053,052,051,018 028,027,026,025,024,023,022,021,020,019
10 2001,036,035,034,033,032,031,030,029,028 002,037,064,063,062,061,060,059,058,027 003,038,065,084,083,082,081,080,057,026 004,039,066,085,096,095,094,079,056,025 005,040,067,086,097,100,093,078,055,024 006,041,068,087,098,099,092,077,054,023 007,042,069,088,089,090,091,076,053,022 008,043,070,071,072,073,074,075,052,021 009,044,045,046,047,048,049,050,051,020 010,011,012,013,014,015,016,017,018,019

pE:分數加法

輸入兩個分數,將這兩個分數相加,並將結果化為最簡分數。

輸入

a/b c/d (a, b, c, d都為正整數)

輸出

e/f

$((e,f)=1)$

範例輸入及輸出

範例輸入範例輸出
1/3 1/25/6
2/1 1/25/2
2/1 3/15/1
1/3 1/125/12

評論

武陵資訊學科能競的題目不意外的相當簡單,能前五的應該都要破台。