b300. 板條大冒險 (二):錢包的路
Tags :
Accepted rate : 27人/35人 ( 77% ) [非即時]
評分方式:
Tolerant

最近更新 : 2014-09-25 16:35

Content

「身為板條高中的遊戲設計師--茵可,當然免不了參考許多遊戲大作,於是他拜訪了許久未見的好友『偉田舍勇』來幫忙加入一些遊戲元素。

偉田舍勇端詳一下,沉思道:『啊,你這個遊戲好像棋盤似的。』

『我看倒有點像稿紙。』JackyXX 說。

『真像一塊塊綠豆糕。』一位外號叫『許胖』的長頸鹿緊接著說。

我們不禁哄堂大笑,同樣的一款遊戲,每個人卻有不同的感覺。茵可連忙把遊戲用 RAR 包好,她覺得遊戲就是遊戲,不是棋盤,也不是稿紙,更不是綠豆糕。」

 

...... 於是茵可醒了。怎麼可能還沒寫完的遊戲就用 RAR 包裝呢!!!這顯然是做夢嘛!不過茵可想起夢中的「偉田舍勇」,忽然想到他最近正在玩的一個遊戲,遊戲中扮演一個商業共和國,如何利用財力橫掃全歐洲等等情事,所以茵可決定將這個元素融入遊戲之中!

走過柏油路之後,主角來到可茵城,莫名其妙當上國王後就要和半路冒出來的半獸人軍團發生戰爭,半獸人的理由是:「I AM YOUR FATHER!!!!」

...... 不管是什麼理由,反正戰爭開打在即,戰爭是非常消耗錢的,打到後來也會忍不住喊一聲:「錢包的路!」(如圖)

 

 

於是我們要開始整理財產,清點帳冊時,發現帳冊居然已經有一段時間沒有做記錄。帳冊上每個固定時間點原本應該要有各個城市的月收入 R_i、以及最後總結的財產 M,而最近幾次的記錄都沒有,但是我們另外發現幾張紙條,上面記錄從最後一次記錄之後到現在幾個城市的變化,紙條記錄的資訊為:時間 K、城市 C、變化 H,這三項,代表在時間 K 的時候,城市 C 有了變化 H。城市有以下四種變化:

 

BUILT:城市擴建,收入會增加 X

BOOST:城市飛速增長,收入會增加 X * X

DAMAGE:城市被半獸人襲擊,收入減少 Y,如果被扣至負數,則計為 0

RUIN:城市被摧毀,收入變為 0

 

而現在我們要將最近一次的帳冊建立起來。

「ps. X 和 Y 是變數喔啾咪。」茵可在最後附註,又讓茵可的學弟 jackyXX 崩潰了,手動整理實在太花時間了!只好求助板條高中的學弟妹了,學弟妹是否能幫助 jackyXX,順利送他到下一關呢? 

Input
測試資料第一行有最後一筆帳冊日期 D_0 以及總財產 M,接著有數行資料,每行資料依序為:城市名稱 N_i、月收入 R_i,城市名稱由英文字母所組成且兩兩相異,最後由「----」結尾 (不含引號)。

接著有兩個整數 X、Y,代表題幹提及之變數,之後有一系列的記錄,格式為:日期 K_j、城市名稱 C_j、變化 H_j,城市名稱 C_j 一定出現在 N_i 中,並且同一城市不會同時發生兩種以上變化。最後,此一系列記錄最終亦由「----」結尾 (不含引號)。

最後還會有一筆日期 D_1,代表我們要建立的帳冊日期。對於 D_0、D_1 以及所有的 K_j,格式為「YYYY/MM」(不含引號),YYYY 代表年份,MM 代表月份,D_1 的日期一定在 D_0 之後,且所有的 K_j 的日期會在 D_0、D_1 之間。

月收入會在每個月初計算至總財產中,若月收入的計算、城市的變化、以及帳冊的總結日期相同時,判定先後順序為:

1. 計算月收入
2. 城市變化
3. 帳冊總結

詳見範例輸入。

1 <= M <= 1000
1 <= i <= 100
1 <= j <= 100
0 <= R_i <= 1000
1 <= X <= 100
1 <= Y <= 10000
0001 <= YYYY <= 9999
01 <= MM <= 12
N_i, C_j 長度不超過 20 字元
Output
輸出日期、總財產,以及各個城市的月收入清單,並且各城市依照月收入排序,若月收入相同,則依照在該筆測試資料出現城市名稱的先後順序排序,格式如範例輸出。
Sample Input #1
2014/01 500
TAINAN 609
TAIPEI 689
TOKYO 1000
----
30 100
2014/02 TAINAN BOOST
2014/02 TAIPEI BUILT
2014/03 TOKYO DAMAGE
----
2014/03
Sample Output #1
2014/03 6026
TAIPEI 719
TOKYO 900
TAINAN 1509
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (20%): 1.0s , <1K
公開 測資點#1 (20%): 1.0s , <1K
公開 測資點#2 (20%): 1.0s , <1M
公開 測資點#3 (20%): 1.0s , <1M
公開 測資點#4 (20%): 1.0s , <1M
Hint :
範例輸入中,我們要從 2014/01 計算至 2014/03,因為 2014/01 輸入資料已是帳冊,因此該月不須重新計算月收入。

到 2014/02,該月要同時計算總財產和城市變化,因此要依照順序:首先,統計總財產 500+609+689+1000=2798;接著,TAINAN 的變化為「BOOST」,X=30,因此月收入變為 609+30*30=1509;此外,TAIPEI 的變化為「BUILT」,月收入變為 689+30=719。

接著來到 2014/03,因為這月要計算月收入、總結帳冊,並且同時 TOKYO 發生變化,因此要依照順序計算:首先,統計總財產 2798+1509+719+1000=6026;接著,TOKYO 的變化為「DAMAGE」,Y=100,月收入變為 1000-100=900;最後,依照格式印出帳冊。
Tags:
出處:
103學年度板橋高中校內資訊學科能力競賽(二) [管理者: snail (蝸牛) ]

Status Forum 排行

ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」