切換
舊版
前往
大廳
主題

ZeroJudge - d584: 技能點數skill 解題心得

Not In My Back Yard | 2018-11-02 16:22:17 | 巴幣 0 | 人氣 294

題目連結:


題目大意:
給定兩個正整數。第一個整數代表角色的職業(預定要練的職業), 0 為初心者、 1 為劍士、 2 為法師、 3 為弓箭手、 4 為盜賊;第二個整數是這個角色的等級(介於 1 ~ 200 )。

角色一開始只會是初心者(從一等開始),8等可以轉成法師,10等可以轉成劍士、弓箭手、盜賊。轉職本身會獲得1點技能點,而轉職後每升一等,即可獲得3點技能點數。

在等級為30、70、120時,都可以各轉職一次,也都會各獲得1點技能點數。

而初心者只有初心者技能點數,本題不做計算。

現在假設玩這隻角色的人會在可以轉職的時候,就去轉職。求這隻角色會有多少技能點數。

註:根據原題所說,這是楓之谷的樣子(本人沒玩過,所以不清楚)。



範例輸入:
0 1
0 9
0 200
1 10
3 11
4 29
4 30
2 30
1 50
3 70
2 120
4 200



範例輸出:
0
0
0
1
4
58
62
68
122
183
342
576



解題思維:
因為是要算「技能點數」,所以可以先判斷是否為初心者。是的話,直接輸出 0 。

接下來把「法師」跟其他職業分開算(因為 8 等就可以轉職成法師),然後各自判斷等級是否到達了 30 、 70 、 120 的里程碑,加上相應數量的轉職成功的獎勵「技能點數」。

然後判斷自從轉職後,總共升了多少等級,將差距乘以 3 。把結果加上上面的轉職獎勵,即是所求。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作