Try   HackMD

注意事項

本次比賽由於輸入/輸出資料較多,請使用scanf/printf或 IO優化(cin/cout) 來做資料讀取的動作。
請注意不要將scanf/printfstd::cin/std::cout混用,並且在使用std::cin/std::cout時不要使用std::endl

scanf/printf的範例程式碼:

#include <cstdio> int main(void) { int a, b, c; scanf("%d%d", &a, &b); c = a+b; printf("%d\n", c); return 0; }

IO優化的範例程式碼:

#include <iostream> int main(void) { // IO優化 std::ios_base::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0); int a, b, c; std::cin >> a >> b; c = a+b; std::cout << c << '\n'; }

A. 打招呼

Time limit: 1s, Memory limit: 256Mb

歡迎加入附中電算大家庭,剛加入社團的第一件事就是要和大家打招呼阿:D,不用擔心,學長姐們都會很「熱情」的(應該吧),試著輸入一個名字然後跟他說Hello吧

格式

輸入說明: 輸入一個字串

s(|s|106),代表你要打招呼的對象
輸出說明: 輸出Hello, s!

範例輸入:

Foxyy

範例輸出:

Hello, Foxyy!

B. 瀕臨絕種的猴子社長

Time limit: 1s, Memory limit: 256Mb

猴子社長是個即將瀕臨絕種的生物,他非常關心他在其他國家夥伴剩下的數量,畢竟這個稀有種是個非常聽人話而且還會扮女裝取悅大家的生物(誤),你可以幫幫他算算世界中還有幾隻猴子社長嗎?

格式

輸入說明: 輸入一個整數

n(1n106),代表有幾個國家,接著輸入
n
個數字
ai(1in)
,代表第
i
個國家中有
ai
隻猴子社長
0ai109

輸出說明: 輸出總共有幾隻猴子社長

範例輸入:

5 
1 2 3 4 5

範例輸出:

15

子題

  • 子題1 (30%)
    i=1nai2311
  • 子題2 (70%)
    無特別限制

C. 質數判斷

Time limit: 1s, Memory limit: 256Mb

承恩活動長是數資班電神,數學好的他常常仗著自己爆開的能力去欺負別人,但由於只有爆開強,每次遇到要判斷質數的方面總是會難倒他,搞得承恩活動長都很崩潰,你可以幫幫他嗎

格式

輸入說明: 輸入一個整數

n
輸出說明:
n
是質數,輸出yes,否則輸出no
2n1014

範例輸入1:

5

範例輸出1:

yes

範例輸入2:

16

範例輸出2:

no

範例輸入3:

48763

範例輸出3:

no

子題

  • 子題1 (30%)
    n108
  • 子題2 (70%)
    無特別限制

註記

yesno的大小寫不影響答案的正確性


D. 宵夜時間

Time limit: 2.5s, Memory limit: 256Mb

彥彥小公主副社長喜歡吃東西,尤其是宵夜,導致他的體重一直掉不下來。現在又到了宵夜時間,彥彥又要來吃他最喜歡的宵夜了!

已知桌上有

n個食物排成一列,從左到右的卡路里含量分別是
a1,a2,...,an
,但他吃東西有個怪癖,就是他只喜歡吃連續排在一起的食物。為了避免彥彥小公主過胖,你想要詢問
q
次、如果彥彥小公主吃掉位在區間
[li,ri](1iq)
的食物的話,攝取的卡路里會是多少。

格式

輸入說明:
第一行輸入二個整數

n
q

第二行輸入
n
個數字
a1,a2,...,an

接下來有
q
行,每一行會輸入兩個數字
li
以及
ri

輸出說明:
請對每次詢問輸出彥彥小公主所攝取的的卡路里含量

1n106
1q106
1ai103
1lirin,i[1,n]

範例輸入:

5 3
4 8 7 6 3
2 5
1 4
2 2

範例輸出:

24
25
8

子題

  • 子題1 (5%)
    q=1
  • 子題2 (30%)
    q103
  • 子題3 (65%)
    無特別限制

E. 保險箱

Time limit: 1s, Memory limit: 256Mb

火龍果視錢如命,他把他所有的錢都放在一個保險箱裡面,這個保險箱有一個五位數的密碼,而解開這個鎖有步驟可循

您擁有由 5 位十進制數字組成的保險箱鎖。如果你旋轉某個數字,它會增加一,除了 9 變成 0。

最初,鎖包含數字

X. 要解鎖保險箱,您必須按順序執行以下操作。

如果位置 1 和 4 上的數字總和大於 10,則將位置 1 上的數字旋轉 3 次,否則將位置 4 上的數字旋轉 8 次。

如果位置 3 和 2 上的數字總和大於 8,則將位置 4 上的數字旋轉 9 次,否則將位置 5 上的數字旋轉 8 次。

如果位置 3 上的數字是奇數,則將位置 3 上的數字旋轉 3 次,否則將位置 3 上的數字旋轉 4 次。

如果位置 5 上的數字大於位置 2 上的數字,則將位置 4 上的數字旋轉 1 次,否則將位置 2 上的數字旋轉 7 次。

如果位置 1 上的數字是奇數,則將位置 1 上的數字旋轉 3 次,否則將位置 3 上的數字旋轉 5 次。

如果位置 4 上的數字是奇數,則將位置 4 上的數字旋轉 7 次,否則將位置 1 上的數字旋轉 9 次。

如果位置 4 上的數字大於位置 1 上的數字,則將位置 4 上的數字旋轉 9 次,否則將位置 4 上的數字旋轉 2 次。

如果位置 1 上的數字大於位置 3 上的數字,則將位置 2 上的數字旋轉 1 次,否則將位置 3 上的數字旋轉 1 次。

如果位置 5 上的數字大於位置 3 上的數字,則將位置 4 上的數字旋轉 5 次,否則將位置 5 上的數字旋轉 8 次。

如果位置 1 和 3 上的數字總和大於 8,則將位置 4 上的數字旋轉 5 次,否則將位置 2 上的數字旋轉 5 次。

如果位置 1 上的數字大於位置 4 上的數字,則將位置 4 上的數字旋轉 3 次,否則將位置 2 上的數字旋轉 3 次。

如果位置 3 和 1 上的數字總和大於 9,則將位置 2 上的數字旋轉 9 次,否則將位置 2 上的數字旋轉 2 次。

如果位置 4 和 3 上的數字總和大於 10,則將位置 4 上的數字旋轉 7 次,否則將位置 5 上的數字旋轉 7 次。

如果位置 3 上的數字大於位置 2 上的數字,則將位置 3 上的數字旋轉 2 次,否則將位置 4 上的數字旋轉 6 次。

如果位置 1 上的數字大於位置 3 上的數字,則將位置 1 上的數字旋轉 9 次,否則將位置 2 上的數字旋轉 9 次。

如果位置 3 上的數字是奇數,則將位置 3 上的數字旋轉 9 次,否則將位置 1 上的數字旋轉 5 次。

如果位置 3 和 5 上的數字總和大於 9,則將位置 3 上的數字旋轉 4 次,否則將位置 3 上的數字旋轉 9 次。

如果位置 3 上的數字大於位置 1 上的數字,則將位置 5 上的數字旋轉 1 次,否則將位置 5 上的數字旋轉 7 次。

如果位置 1 上的數字大於位置 3 上的數字,則將位置 2 上的數字旋轉 9 次,否則將位置 4 上的數字旋轉 6 次。

如果位置 2 和 3 上的數字總和大於 10,則將位置 2 上的數字旋轉 2 次,否則將位置 3 上的數字旋轉 6 次。

但火龍果因為記性太差,常常忘記密碼,你可以幫他解開密碼嗎?

格式

輸入說明: 輸入一個由五位數組成的數字

X
輸出說明: 操作後的數字

範例輸入1:

00000

範例輸出1:

51926

範例輸入2:

12345

範例輸出2:

47782

範例輸入3:

48763

範例輸出3:

99588

F. Hanoi

Time limit: 1s, Memory limit: 256Mb

Tony老師最近被課業壓的喘不過氣來QQ,但喜歡動腦的他常常做一些動腦的題目作為休閒之舉,例如數獨啊、文字填空遊戲之類的,最近,Tony老師發現了一個很好玩的遊戲,那就是「河內塔」,遊戲規則如下:

你會有三根柱子分別編號為

123,接著會有
n
個套環,分別編號
12...n1n
,開始時套環
i
會在柱子
ai
的上面,並且每根柱子上的套環都依編號小到大由上到下排列,你的目標就是將每個套環
i
移到柱子
bi
上,但注意,在操作時編號小的套環一定要在編號大的套環上面。

Tony老師看到這個就傻住了,不知道要如何下手,你可以幫幫他解開謎題嗎

格式

輸入說明:
第一行輸入一個整數

n,代表有
n
個套環
第二行輸入
n
個整數
a1,a2,...,an

第三行輸入
n
個整數
b1,b2,...,bn

輸出說明: 輸出最少步數的整個移動過程
3n20

範例輸入1:

3
1 1 1
3 3 3

範例輸出1:

Ring 1 from 1 to 3
Ring 2 from 1 to 2
Ring 1 from 3 to 2
Ring 3 from 1 to 3
Ring 1 from 2 to 1
Ring 2 from 2 to 3
Ring 1 from 1 to 3

範例輸入2:

3
2 3 1
2 2 1

範例輸出2:

Ring 1 from 2 to 1
Ring 2 from 3 to 2
Ring 1 from 1 to 2

子題

  • 子題1 (25%)
    i[1,n],ai=1,bi=3
  • 子題2 (30%)
    i[1,n],ai[1,3],bi=3
  • 子題3 (45%)
    無特別限制