g876. 搶奪礦物
標籤 : 板中資訊APCS班程式挑戰賽
通過比率 : 18人/41人 ( 44% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-12-17 08:55

內容

板中資訊APCS班程式挑戰賽(6)

holo運動會分成了紅藍兩隊,其中一個項目是礦物搶奪大賽。

遊戲規則是這樣的,在場上原先有三堆礦物,分別為鑽石、黃金、鐵(以下用D代表鑽石,G代表黃金,F代表鐵),在家中的鑽石一個20分,黃金一個10分,鐵一個2分;在身上的鑽石一個10分,黃金一個5分,鐵一個1分,而兩隊要搶奪這些礦物,已知場上的礦物數量是無限多的,不會有無法挖的情形發生。

我們假設兩隊分別有3個人,1、2、3是紅隊,4、5、6是藍隊,而YAGOO把賽中所有的事情寫成了一個事件表,每個事件都有一個開頭字母Y,代表事件的種類,而他的紀錄規則如下:

  • Y=1:之後有數字A、字元B、數字C,代表人A去場中挖了C個礦物B,之後A會把礦物帶在身上。
  • Y=2:之後有數字A1、數字A2,代表人A1殺了人A2,之後A2身上的所有礦物都會跑到A1身上,且A2會立即在家中復活。
  • Y=3:之後有數字A、字元B,數字C,代表人A偷了對方家中的C個礦物B,偷走的礦物會被人A帶在身上。
  • Y=4:之後有數字A、字元B、數字C,代表人A放了C個自己身上的礦物B到自己隊伍的家中。
  • Y=5:之後有數字A、字元B,代表人A與場中的村民交易,把自己身上一半的礦物B傳送到自己隊伍的家中(其餘的仍在自己手中)。

限制:

  • 保證不會有同隊相殺的情況。
  • 保證A去對方家中偷礦物時,對方一定有相應數量的礦物。
  • 保證A放礦物時,身上一定有該數量的礦物。
  • 與村民做交易時,該礦物數量必定為偶數。

你能告訴我遊戲結束時兩隊的分數分別為多少嗎?

 

測資點#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。

輸出說明

輸出兩個正整數,分別代表紅隊與藍隊最後的得分。

範例輸入 #1
5
1 5 F 10
2 5 1
1 2 D 2
4 5 F 8
4 2 D 1
範例輸出 #1
30 18
範例輸入 #2
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
範例輸出 #2
245 145
測資資訊:
記憶體限制: 256 MB
提示 :

以範例輸入#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

標籤:
板中資訊APCS班程式挑戰賽
出處:
板中資訊APCS班程式挑戰賽 [管理者: Ststone1687 (Ststone) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
28587 wallacechu04 ... (Wallace Chu) g876
long long
482 2021-12-19 15:05