DD人物介紹 : https://zerojudge.tw/ShowProblem?problemid=f754
某天,DD班在班會課時去聽演講,演講主題是DD王國的巨人事件(題號 : f835),當DD看到演講者的美貌,和她那好聽的聲音,便意亂情迷,突然地,DD站了起來,大聲地說 : 我喜歡你 ! 。 這舉動使全場的目光瞬間聚集在他的身上,這是DD從未有的感受,平常在班上總是被忽略的他頃刻間感覺自己有如DD國的國民男神棗洩洪一樣受歡迎,但DD不知道的是在那之後全場突然笑了起來,演講者也拒絕了他的告白,剎時,DD的心情跌到谷底,不過不久後DD便釋懷了,因為他已經歷了無數次同樣的場面,向紅林告白時,被因不會下圍棋而拒絕,向Badspeed告白時,被因頭皮屑太多而拒絕。就這樣,DD慢慢地進入了夢境,想著在夢裡遇見演講者,與她共度美好的時光,只不過DD的同學又來搗蛋了,DD的同學會在旁邊叫他醒來,DD只要聽到就會離醒來進了一步,反之,若聽到真命天子的聲音,就會睡得更香甜,另外,叫醒DD的方式也是無奇不有,像是跟他說那邊有女生,DD便會流出黏黏的液體,亦或是跟他說DD端火鍋,DD便會發出阿一代一代的聲音。
請寫個程式幫助同學判斷DD是否醒了。
//真實故事的結果是睡死了,而且還被老師拍下來。
N為DD的起始清醒值,若最後清醒值 >0,視為起床,每個人影響DD的清醒值的程度不一樣,叫醒DD的動作能力也不同,先執行動作的能力,再執行角色的能力,另外若為特定的人做特定的動作(組合技),效果也不同,但原本的人和動作的能力失效。請看清楚。
DD同學的名字 : CC(清醒值+1) , 秋(清醒值+5) , 猥褻洪(清醒值+12.5) , 紅林(清醒值+20) 。
DD的真命天子 : Goodspeccy(清醒值-6) , Badspeed(清醒值-7.5) , Goodspeech(清醒值-20) 。
叫醒DD的動作 : 跟DD說那邊有女生(清醒值增加/減少值*2) , 跟DD說DD端火鍋(清醒值增加/減少值*二分之一) , 跟DD說起床了(無特殊效果) , 跟DD說頭皮屑好吃嗎(目前清醒值*二分之一),跟DD說我喜歡你(可無視防禦值使清醒值增加/減少) ,跟DD說我就DD(從此說這句話的人的所作所為不再對DD造成清醒值減少/增加) , 跟DD說DD爛(防禦值*二分之一) ,跟DD說秋暗戀你(防禦值*2) , 跟DD說你打呼很大聲(說這句話的人的上一位從此所作所為不再對DD造成清醒值減少/增加) 。
第一行有一整數 X ,代表有X筆測資。
每筆測資有三整數N、C、M。
N為DD的起始清醒值,若最後清醒值>0,視為起床。M代表接下來有M行指令(指令為名字+叫DD動作)。C為DD的防禦值,即每次要使DD清醒值增加時,須先扣防禦值才能攻擊到DD,先執行動作的能力再扣防禦值,若增加的清醒值≤防禦值,則無法增加清醒值。
//例 : C=5,指令 : 秋跟DD說起床了 -> 5-5=0,秋減少DD的清醒值為0。
接著每行的內容為(名字+跟DD說+動作)的組合。
輸出最後的清醒值,若曾清醒過,請輸出誰做了什麼動作讓DD清醒,最後,若一開始就是清醒的,請再輸出"DD夢到了左翔"(不含引號)。
格式為 :
最後的清醒值(必要)
誰做了什麼動作讓DD清醒(若達成條件)
DD夢到了左翔(若達成條件)
2 -100 10 11 猥褻洪跟DD說那邊有女生 CC跟DD說頭皮屑好吃嗎 Goodspeech跟DD說起床了 紅林跟DD說我喜歡你 Badspeed跟DD說DD端火鍋 紅林跟DD說頭皮屑好吃嗎 秋跟DD說我就DD 猥褻洪跟DD說DD爛 Goodspeccy跟DD說秋暗戀你 猥褻洪跟DD說你打呼很大聲 Goodspeccy跟DD說那邊有女生 -10 2 1 CC跟DD說那邊有女生
5.875 猥褻洪跟DD說你打呼很大聲 -10
1 20 0 1 CC跟DD說我喜歡你
21 DD夢到了左翔
範例輸入第一筆測資 :
第一句 : -100+(12.5(猥褻洪的能力)*2(跟DD說那邊有女生的能力) - 10) = -85(DD目前的清醒值)
第二句 : -85*1/2+0(因增加的清醒值<防禦值) = -42.5
第三句 : -42.5 - 20 = -62.5
第四句 : -62.5 且 C = 0 //因組合技使原本的人和動作的能力失效
第五句 : -62.5-(7.5*1/2)= -66.25
第六句 : -66.25*1/2(動作的能力)+20(紅林的能力) = -13.125
第七句 : -13.125 且秋從此的所作所為不再對DD造成清醒值減少/增加(動作的能力)。
第八句 : -13.125 + 12.5(猥褻洪的能力) - 0 * 1 / 2(動作的能力) = -0.625
第九句 : -0.625 - 6(Goodspeccy的能力) = -6.625
第十句 : -6.625 + 12.5 = 5.875 且 Goodspeccy從此所作所為不再對DD造成清醒值減少/增加(動作的能力)
第十一句 : 5.875 //Goodspeccy無法減少清醒值為第十句所導致
C++(一個中文字在zerojudge占三個字元,其他有些地方占兩個字元)
string a = "紅林";
if (a.substr(0, 3) == "紅") //判斷第一個中文字
string ck = a.substr(k*3, 3) //第k個中文字
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
35707 | leolin0214@g ... (林祺祐) | f874 | 239 | 2023-06-13 16:05 |