板中資訊APCS班程式挑戰賽(6)
holo運動會分成了紅藍兩隊,其中一個項目是礦物搶奪大賽。
遊戲規則是這樣的,在場上原先有三堆礦物,分別為鑽石、黃金、鐵(以下用D代表鑽石,G代表黃金,F代表鐵),在家中的鑽石一個20分,黃金一個10分,鐵一個2分;在身上的鑽石一個10分,黃金一個5分,鐵一個1分,而兩隊要搶奪這些礦物,已知場上的礦物數量是無限多的,不會有無法挖的情形發生。
我們假設兩隊分別有3個人,1、2、3是紅隊,4、5、6是藍隊,而YAGOO把賽中所有的事情寫成了一個事件表,每個事件都有一個開頭字母Y,代表事件的種類,而他的紀錄規則如下:
限制:
你能告訴我遊戲結束時兩隊的分數分別為多少嗎?
測資點#0 4分 T=100,Y={1}
測資點#1 6分 T=100,Y={1,2,4}
測資點#2 6分 T=100,Y={1,2,3,4,5}
測資點#3 6分 Y={1}
測資點#4 8分 Y={1,2}
測資點#5 8分 Y={1,4}
測資點#6 16分 Y={1,2,4}
測資點#7 22分 Y={1,2,3,4}
測資點#8 24分 無限制
第一行有一個整數T(1≤T≤10^6),代表接著有多少事件。
接著有T行,每行開頭有一個數字Y(1≤Y≤5),代表事件種類。
(1≤A,A1,A2≤6; B={'D','G','F'}; 1≤C≤10^6)
若Y=1:接著有A,B,C。
若Y=2:接著有A1,A2。
若Y=3:接著有A,B,C。
若Y=4:接著有A,B,C。
若Y=5:接著有A,B。
輸出兩個正整數,分別代表紅隊與藍隊最後的得分。
5 1 5 F 10 2 5 1 1 2 D 2 4 5 F 8 4 2 D 1
30 18
12 2 1 6 1 4 G 15 1 3 G 5 1 6 D 5 4 4 G 10 4 6 D 3 2 1 6 5 1 D 4 3 G 2 1 1 D 10 4 1 D 6 3 2 D 2
245 145
以範例輸入#1為例:
共有5次操作
(1)5號挖了10個鐵。
(2)5號將1號殺掉,由於1號身上無任何礦物,所以沒有轉移。
(3)2號挖了2顆鑽石。
(4)5號放了8個鐵在家中,自己身上剩下2個。
(5)2號放了1顆鑽石在家中,自己身上剩下1顆。
兩隊的分數分別為:
紅隊:家中鑽石1顆(20分*1)+2號身上鑽石1顆(10分*1)=30分
籃隊:家中鐵8個(8分*2)+5號身上鐵2個(1分*2)=18分
故輸出:
30 18
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
28587 | wallacechu04 ... (Wallace Chu) | g876 | 493 | 2021-12-19 15:05 |