最近被程設(shè)的魔獸3折磨得很痛苦,終于AC了,所以慶祝一下發(fā)篇專欄。
我本來(lái)是從2改寫了一份的,但感覺(jué)越寫越爛,就放棄了原來(lái)的,重新寫了一遍。
(資料圖片)
我們還是先看下題目吧。
題目有點(diǎn)長(zhǎng),大家做好心理準(zhǔn)備】
E:魔獸世界三(開(kāi)戰(zhàn))
總時(shí)間限制:?
2000ms?
內(nèi)存限制:?
65536kB
描述
魔獸世界的西面是紅魔軍的司令部,東面是藍(lán)魔軍的司令部。兩個(gè)司令部之間是依次排列的若干城市,城市從西向東依次編號(hào)為1,2,3 .... N ( N <= 20)。紅魔軍的司令部算作編號(hào)為0的城市,藍(lán)魔軍的司令部算作編號(hào)為N+1的城市。司令部有生命元,用于制造武士。
兩軍的司令部都會(huì)制造武士。武士一共有dragon?、ninja、iceman、lion、wolf?五種。每種武士都有編號(hào)、生命值、攻擊力這三種屬性。
雙方的武士編號(hào)都是從1開(kāi)始計(jì)算。紅方制造出來(lái)的第n?個(gè)武士,編號(hào)就是n。同樣,藍(lán)方制造出來(lái)的第n?個(gè)武士,編號(hào)也是n。
武士在剛降生的時(shí)候有一個(gè)初始的生命值,生命值在戰(zhàn)斗中會(huì)發(fā)生變化,如果生命值減少到0(生命值變?yōu)樨?fù)數(shù)時(shí)應(yīng)當(dāng)做變?yōu)?處理),則武士死亡(消失)。
武士可以擁有武器。武器有三種,sword, bomb,和arrow,編號(hào)分別為0,1,2。
sword的攻擊力是使用者當(dāng)前攻擊力的20%(去尾取整)。
bomb的攻擊力是使用者當(dāng)前攻擊力的40%(去尾取整),但是也會(huì)導(dǎo)致使用者受到攻擊,對(duì)使用者的攻擊力是對(duì)敵人取整后的攻擊力的1/2(去尾取整)。Bomb一旦使用就沒(méi)了。
arrow的攻擊力是使用者當(dāng)前攻擊力的30%(去尾取整)。一個(gè)arrow用兩次就沒(méi)了。
武士降生后就朝對(duì)方司令部走,在經(jīng)過(guò)的城市如果遇到敵人(同一時(shí)刻每個(gè)城市最多只可能有1個(gè)藍(lán)武士和一個(gè)紅武士),就會(huì)發(fā)生戰(zhàn)斗。戰(zhàn)斗的規(guī)則是:
不同的武士有不同的特點(diǎn)。
編號(hào)為n的dragon降生時(shí)即獲得編號(hào)為n%3?的武器。dragon在戰(zhàn)斗結(jié)束后,如果還沒(méi)有戰(zhàn)死,就會(huì)歡呼。
編號(hào)為n的ninjia降生時(shí)即獲得編號(hào)為n%3?和(n+1)%3的武器。ninja?使用bomb不會(huì)讓自己受傷。
編號(hào)為n的iceman降生時(shí)即獲得編號(hào)為n%3?的武器。iceman每前進(jìn)一步,生命值減少10%(減少的量要去尾取整)。
編號(hào)為n的lion降生時(shí)即獲得編號(hào)為n%3?的武器。lion?有“忠誠(chéng)度”這個(gè)屬性,其初始值等于它降生之后其司令部剩余生命元的數(shù)目。每前進(jìn)一步忠誠(chéng)度就降低K。忠誠(chéng)度降至0或0以下,則該lion逃離戰(zhàn)場(chǎng),永遠(yuǎn)消失。但是已經(jīng)到達(dá)敵人司令部的lion不會(huì)逃跑。lion在己方司令部可能逃跑。
wolf降生時(shí)沒(méi)有武器,但是在戰(zhàn)斗開(kāi)始前會(huì)搶到敵人編號(hào)最小的那種武器。如果敵人有多件這樣的武器,則全部搶來(lái)。Wolf手里武器也不能超過(guò)10件。如果敵人arrow太多沒(méi)法都搶來(lái),那就先搶沒(méi)用過(guò)的。如果敵人也是wolf,則不搶武器。
以下是不同時(shí)間會(huì)發(fā)生的不同事件:
在每個(gè)整點(diǎn),即每個(gè)小時(shí)的第0分, 雙方的司令部中各有一個(gè)武士降生。
紅方司令部按照iceman、lion、wolf、ninja、dragon?的順序制造武士。
藍(lán)方司令部按照l(shuí)ion、dragon、ninja、iceman、wolf?的順序制造武士。
制造武士需要生命元。
制造一個(gè)初始生命值為m?的武士,司令部中的生命元就要減少m?個(gè)。
如果司令部中的生命元不足以制造某本該造的武士,那就從此停止制造武士。
在每個(gè)小時(shí)的第5分,該逃跑的lion就在這一時(shí)刻逃跑了。
在每個(gè)小時(shí)的第10分:所有的武士朝敵人司令部方向前進(jìn)一步。即從己方司令部走到相鄰城市,或從一個(gè)城市走到下一個(gè)城市?;驈暮蛿耻娝玖畈肯噜彽某鞘械竭_(dá)敵軍司令部。
在每個(gè)小時(shí)的第35分:在有wolf及其敵人的城市,wolf要搶奪對(duì)方的武器。
在每個(gè)小時(shí)的第40分:在有兩個(gè)武士的城市,會(huì)發(fā)生戰(zhàn)斗。
在每個(gè)小時(shí)的第50分,司令部報(bào)告它擁有的生命元數(shù)量。
在每個(gè)小時(shí)的第55分,每個(gè)武士報(bào)告其擁有的武器情況。
武士到達(dá)對(duì)方司令部后就算完成任務(wù)了,從此就呆在那里無(wú)所事事。
任何一方的司令部里若是出現(xiàn)了敵人,則認(rèn)為該司令部已被敵人占領(lǐng)。
任何一方的司令部被敵人占領(lǐng),則戰(zhàn)爭(zhēng)結(jié)束。戰(zhàn)爭(zhēng)結(jié)束之后就不會(huì)發(fā)生任何事情了。
給定一個(gè)時(shí)間,要求你將從0點(diǎn)0分開(kāi)始到此時(shí)間為止的所有事件按順序輸出。事件及其對(duì)應(yīng)的輸出樣例如下:
1)?武士降生
輸出樣例:000:00 blue dragon 1 born
表示在0點(diǎn)0分,編號(hào)為1的藍(lán)魔dragon武士降生
如果造出的是lion,那么還要多輸出一行,例:
000:00 blue lion 1 born
Its loyalty is 24
表示該lion降生時(shí)的忠誠(chéng)度是24
2) lion逃跑
輸出樣例:000:05 blue lion 1 ran away
表示在0點(diǎn)5分,編號(hào)為1的藍(lán)魔lion武士逃走
3)?武士前進(jìn)到某一城市
輸出樣例:
000:10 red iceman 1 marched to city 1 with 20 elements and force 30
表示在0點(diǎn)10分,紅魔1號(hào)武士iceman前進(jìn)到1號(hào)城市,此時(shí)他生命值為20,攻擊力為30
對(duì)于iceman,輸出的生命值應(yīng)該是變化后的數(shù)值
4) wolf搶敵人的武器
000:35 blue wolf 2 took 3 bomb from red dragon 2 in city 4
表示在0點(diǎn)35分,4號(hào)城市中,紅魔1號(hào)武士wolf?搶走藍(lán)魔2號(hào)武士dragon 3個(gè)bomb。為簡(jiǎn)單起見(jiàn),武器不寫復(fù)數(shù)形式
5)?報(bào)告戰(zhàn)斗情況
戰(zhàn)斗只有3種可能的輸出結(jié)果:
000:40 red iceman 1 killed blue lion 12 in city 2 remaining 20 elements
表示在0點(diǎn)40分,1號(hào)城市中,紅魔1號(hào)武士iceman?殺死藍(lán)魔12號(hào)武士lion后,剩下生命值20
000:40 both red iceman 1 and blue lion 12 died in city 2
注意,把紅武士寫前面
000:40?both red iceman 1 and blue lion 12 were alive in city 2
注意,把紅武士寫前面
6)?武士歡呼
輸出樣例:003:40 blue dragon 2 yelled in city 4
7)?武士抵達(dá)敵軍司令部
輸出樣例:001:10 red iceman 1 reached blue headquarter with 20 elements and force 30
(此時(shí)他生命值為20,攻擊力為30)對(duì)于iceman,輸出的生命值和攻擊力應(yīng)該是變化后的數(shù)值
8)?司令部被占領(lǐng)
輸出樣例:003:10 blue headquarter was taken
9)司令部報(bào)告生命元數(shù)量
000:50 100 elements in red headquarter
000:50 120 elements in blue headquarter
表示在0點(diǎn)50分,紅方司令部有100個(gè)生命元,藍(lán)方有120個(gè)
10)武士報(bào)告情況
000:55 blue wolf 2 has 2 sword 3 bomb 0 arrow and 7 elements
為簡(jiǎn)單起見(jiàn),武器都不寫復(fù)數(shù)形式。elements一律寫復(fù)數(shù),哪怕只有1個(gè)
交代武器情況時(shí),次序依次是:sword,bomb, arrow。
輸出事件時(shí):
首先按時(shí)間順序輸出;
同一時(shí)間發(fā)生的事件,按發(fā)生地點(diǎn)從西向東依次輸出.?武士前進(jìn)的事件,?算是發(fā)生在目的地。
在一次戰(zhàn)斗中有可能發(fā)生上面的?5?至?6?號(hào)事件。這些事件都算同時(shí)發(fā)生,其時(shí)間就是戰(zhàn)斗開(kāi)始時(shí)間。一次戰(zhàn)斗中的這些事件,序號(hào)小的應(yīng)該先輸出。
兩個(gè)武士同時(shí)抵達(dá)同一城市,則先輸出紅武士的前進(jìn)事件,后輸出藍(lán)武士的。
對(duì)于同一城市,同一時(shí)間發(fā)生的事情,先輸出紅方的,后輸出藍(lán)方的。
顯然,8號(hào)事件發(fā)生之前的一瞬間一定發(fā)生了7號(hào)事件。輸出時(shí),這兩件事算同一時(shí)間發(fā)生,但是應(yīng)先輸出7號(hào)事件
雖然任何一方的司令部被占領(lǐng)之后,就不會(huì)有任何事情發(fā)生了。但和司令部被占領(lǐng)同時(shí)發(fā)生的事件,全都要輸出。
在奇數(shù)編號(hào)城市,紅武士先發(fā)起攻擊
在偶數(shù)編號(hào)城市,藍(lán)武士先發(fā)起攻擊
戰(zhàn)斗開(kāi)始前,雙方先對(duì)自己的武器排好使用順序,然后再一件一件地按順序使用。編號(hào)小的武器,排在前面。若有多支arrow,用過(guò)的排在前面。排好序后,攻擊者按此排序依次對(duì)敵人一件一件地使用武器。如果一種武器有多件,那就都要用上。每使用一件武器,被攻擊者生命值要減去武器攻擊力。如果任何一方生命值減為0或小于0即為死去。有一方死去,則戰(zhàn)斗結(jié)束。
雙方輪流使用武器,甲用過(guò)一件,就輪到乙用。某一方把自己所有的武器都用過(guò)一輪后,就從頭開(kāi)始再用一輪。如果某一方?jīng)]有武器了,那就挨打直到死去或敵人武器用完。武器排序只在戰(zhàn)斗前進(jìn)行,戰(zhàn)斗中不會(huì)重新排序。
如果雙方武器都用完且都還活著,則戰(zhàn)斗以平局結(jié)束。如果雙方都死了,也算平局。
有可能由于武士自身攻擊力太低,而導(dǎo)致武器攻擊力為0。攻擊力為0的武器也要使用。如果戰(zhàn)斗中雙方的生命值和武器的狀態(tài)都不再發(fā)生變化,則戰(zhàn)斗結(jié)束,算平局。
戰(zhàn)斗的勝方獲得對(duì)方手里的武器。武士手里武器總數(shù)不超過(guò)10件。繳獲武器時(shí),按照武器種類編號(hào)從小到大繳獲。如果有多件arrow,優(yōu)先繳獲沒(méi)用過(guò)的。
如果戰(zhàn)斗開(kāi)始前雙方都沒(méi)有武器,則戰(zhàn)斗視為平局。如果先攻擊方?jīng)]有武器,則由后攻擊方攻擊。
輸入
第一行是t,代表測(cè)試數(shù)據(jù)組數(shù)每組樣例共三行。第一行,4個(gè)整數(shù) M,N,K, T。其含義為:每個(gè)司令部一開(kāi)始都有M個(gè)生命元( 1 <= M <= 100000)兩個(gè)司令部之間一共有N個(gè)城市( 1 <= N <= 20 )lion每前進(jìn)一步,忠誠(chéng)度就降低K。(0<=K<=100)要求輸出從0時(shí)0分開(kāi)始,到時(shí)間T為止(包括T) 的所有事件。T以分鐘為單位,0 <= T <= 6000第二行:五個(gè)整數(shù),依次是 dragon 、ninja、iceman、lion、wolf 的初始生命值。它們都大于0小于等于200第三行:五個(gè)整數(shù),依次是 dragon 、ninja、iceman、lion、wolf 的攻擊力。它們都大于0小于等于200
輸出
對(duì)每組數(shù)據(jù),先輸出一行:Case n:如對(duì)第一組數(shù)據(jù)就輸出 Case 1:然后按恰當(dāng)?shù)捻樞蚝透袷捷敵龅綍r(shí)間T為止發(fā)生的所有事件。每個(gè)事件都以事件發(fā)生的時(shí)間開(kāi)頭,時(shí)間格式是“時(shí): 分”,“時(shí)”有三位,“分”有兩位。
樣例輸入
樣例輸出
提示
請(qǐng)注意浮點(diǎn)數(shù)精度誤差問(wèn)題。OJ上的編譯器編譯出來(lái)的可執(zhí)行程序,在這方面和你電腦上執(zhí)行的程序很可能會(huì)不一致。5 * 0.3 的結(jié)果,有的機(jī)器上可能是 15.00000001,去尾取整得到15,有的機(jī)器上可能是14.9999999,去尾取整后就變成14。因此,本題不要寫 5 * 0.3,要寫 5 * 3 / 10。
好了,我們終于看完題目了(笑)。
代碼在下面,有個(gè)問(wèn)題的地方就是我仍然沒(méi)搞明白比較符號(hào)重載之后怎么調(diào)用,所以直接寫了一個(gè)指針的比較函數(shù)用在std::sort函數(shù)里了。
一共不到600行,挺讓我頭疼的。
(說(shuō)實(shí)話不應(yīng)該直接往Github上丟嗎,放完這堆代碼現(xiàn)在打個(gè)字都卡)
注釋寫得比較完整了,大概還是比較易讀的。
標(biāo)簽:
最近被程設(shè)的魔獸3折磨得很痛苦,終于AC了,所以慶祝一下發(fā)篇專欄。我本來(lái)是從2改寫了一份的,但感覺(jué)越寫越爛,就放棄了原來(lái)的,重新寫了一遍
給孩子退燒有很多方法,要看孩子發(fā)燒的程度。如果孩子體溫不是很高,不超過(guò)38 5,可以采用物理降溫。物理冷卻方法有很多種,
3月27日消息,全面注冊(cè)制下,滬市首批5家主板企業(yè)柏誠(chéng)股份、江鹽集團(tuán)、常青科技、中信金屬、中重科技已完成詢價(jià)定價(jià)。
學(xué)生們正聚精會(huì)神地聽(tīng)著民警的授課。學(xué)生們正聚精會(huì)神地聽(tīng)著民警的授課。紅網(wǎng)時(shí)刻衡陽(yáng)3月27日訊(通訊員譚涵方)孩子是祖
博鰲亞洲論壇2023年年會(huì)3月28日至31日在海南博鰲以線下方式舉行,今天(3月27日)新聞中心將正式啟用。截至目前,今年新聞中心注冊(cè)記者已經(jīng)超
歡迎觀看本篇文章,小勉來(lái)為大家解答以上問(wèn)題。蒸饅頭一般蒸多少分鐘,需要多長(zhǎng)時(shí)間很多人還不知道,現(xiàn)在讓我們一起來(lái)看看吧!1
楚漢群英譜八首項(xiàng)羽力拔山兮又若何?途窮無(wú)計(jì)庇虞娥。如能納諫知良將,今世難聞垓下歌。范增滿腹經(jīng)天緯地才,惜投豎子反遭猜。鴻
為切實(shí)做好城市精細(xì)化管理工作,保障道路環(huán)境干凈整潔、暢通有序,鄭東新區(qū)祭城路街道辦事處于近期組織綜治城管巡防機(jī)動(dòng)隊(duì),針對(duì)共享單車投放
此頁(yè)面是否是列表頁(yè)或首頁(yè)?未找到合適正文內(nèi)容。
外地戶籍人員,城鄉(xiāng)居民醫(yī)保在大連這樣交
湖南省2023年煙草專賣局系統(tǒng)公開(kāi)考試聘用工作人員筆試成績(jī)復(fù)查公告湖南省2023年煙草專賣局系統(tǒng)公開(kāi)考試聘用工作人員筆試成績(jī)已經(jīng)發(fā)布,現(xiàn)就成
澎湃新聞見(jiàn)習(xí)記者蔣樂(lè)來(lái)拎著馬桶看東方明珠、高壓線上曬衣服、許多戶人家共用一個(gè)衛(wèi)生間……這些過(guò)去上海里弄的“風(fēng)景”,隨著舊改工作的推...
大家好,我是小城,歐預(yù)賽C羅雙響葡萄牙6-0盧森堡國(guó)家隊(duì)歷史進(jìn)球排行榜C羅122球居首很多人還不知道,那么現(xiàn)在讓我們一起來(lái)看看吧!一、歐
今天來(lái)聊聊關(guān)于尾單是什么意思啊,尾單是什么意思的文章,現(xiàn)在就為大家來(lái)簡(jiǎn)單介紹下尾單是什么意思啊,尾單是什么意思,希望對(duì)各
1、皰疹性咽峽炎引起的發(fā)熱約持續(xù)3-5天,部分特殊體質(zhì)的患者可延長(zhǎng)至7天左右。2、皰疹性咽峽炎主要是腸道病毒感染引起的咽
1、一般來(lái)說(shuō),排骨清洗干凈之后,還需要提前腌制一下,放些食用油、花生油、鹽、少許的醋、蒜拍碎然后一起腌制。一般腌制1-3小時(shí),可以讓排骨
〝那一夜,外面下著毛毛小雨,秋風(fēng)瑟瑟,看著路上寥寥數(shù)人,又到了出門買片的時(shí)候,想不到熬不過(guò)今年,明明再過(guò)一陣子就能歡渡出場(chǎng)3周年,現(xiàn)在
在60多年開(kāi)發(fā)建設(shè)中,大慶油田堅(jiān)持科技自立自強(qiáng),不斷攻堅(jiān)“卡脖子”難題,形成了領(lǐng)先世界的陸相砂巖油田開(kāi)發(fā)技術(shù),實(shí)現(xiàn)原油長(zhǎng)期高產(chǎn)穩(wěn)產(chǎn),...
還有孫穎莎等7名球員,只參加混雙。馬龍和樊振東,既不參加單打,也不參加混雙比賽。孫穎莎不參加單打項(xiàng)目,只參加混雙。孫穎莎和王楚欽,第二
最佳球員評(píng)選規(guī)則:候選球員由各場(chǎng)主播提名,主播投票占比30%,吧友投票占比70%,總計(jì)占比最高者為當(dāng)日最佳球員。今日提名:卡佩拉 老鷹143-13
央視網(wǎng)消息:日前,在福建廈門,一輛黑色小轎車與一輛正在掉頭的紅色半掛牽引車發(fā)生碰撞,危急時(shí)刻,駐地第73集團(tuán)軍某勤務(wù)旅官兵立即趕往現(xiàn)場(chǎng)
1、月牙泉位于我國(guó)的甘肅省。它在月牙泉風(fēng)景區(qū),古稱沙井,俗名藥泉,位于甘肅省敦煌市西南5公里鳴沙山北麓。2、月牙泉早在漢代就是游覽勝地。
莫斯科險(xiǎn)遭無(wú)人機(jī)炸彈攻擊?當(dāng)?shù)貢r(shí)間6日,俄方證實(shí),一架掛載100公斤高爆炸彈的無(wú)人機(jī),在莫斯科外150公里處凌空爆炸。到
1、不是小說(shuō),是電視劇《談?wù)勑膽賾賽?ài)》男主角:2、棉花糖ONE(劉得樺):身高75米到84米之間,對(duì)書中男主人公的行為思
elasticsearch-head是一款專門針對(duì)于elasticsearch的客戶端工具,用來(lái)展示數(shù)據(jù)。
1、話說(shuō)。2、是因?yàn)殡娔X的原因嗎?樓樓,你網(wǎng)速怎樣?其實(shí)。3、我沒(méi)進(jìn)過(guò)紅歌會(huì)網(wǎng),也不太了解,嘿嘿。本文就為大家分享到這里
雖然眼皮的跳動(dòng)是肌肉神經(jīng)運(yùn)動(dòng)的結(jié)果,但是有時(shí)候這也是一種預(yù)兆,只是通過(guò)某種直接的方式表達(dá)給人感受到而已,所以我們可以通過(guò)分析自己的眼
1、《安琪拉的灰燼》是美國(guó)作家弗蘭克·邁考特創(chuàng)作的自傳體長(zhǎng)篇小說(shuō),首次出版于1996年。2、《安琪拉的灰燼》以幽
你們好,最近小活發(fā)現(xiàn)有諸多的小伙伴們對(duì)于手抄報(bào)防校園欺凌,手抄報(bào)防校園欺凌這個(gè)問(wèn)題都頗為感興趣的,今天小活為大家梳理了
生之本質(zhì)在于死,因此只有樂(lè)于生的人才能真正不感到死之苦惱。生命的用途并不在長(zhǎng)短而在我們?cè)鯓永盟?。許多人活的日子并不多,卻活了很長(zhǎng)久
世界熱點(diǎn)評(píng)!《深海危機(jī)》曝人物關(guān)系劇照 嚴(yán)屹寬攜手屈菁菁化解危機(jī)
世界今日訊!《龍與地下城:俠盜榮耀》本周五上映 刺激與爆笑齊飛解壓神片來(lái)襲
“百面人生”毛曉彤,扎實(shí)演技才是流量秘密 焦點(diǎn)熱訊
世界今日?qǐng)?bào)丨阜康堂·潘潘小廚2-5 8900競(jìng)技 王邵龍梅開(kāi)二度
全球資訊:新海誠(chéng)《鈴芽之旅》登陸IMAX 口碑佳作治愈心靈 視聽(tīng)盛宴驚艷銀幕
當(dāng)前關(guān)注:電影《愛(ài)很美味》曝方欣角色預(yù)告 張含韻演繹未婚先孕職場(chǎng)媽媽 秀網(wǎng)娛樂(lè) 2023-03-24 15:48
得了肺陽(yáng)虛怎么辦?針灸這幾個(gè)穴位可有效改善哦|肺陽(yáng)虛針灸部位
Note12 Turbo:最高「16GB+1TB」內(nèi)存組合 大到“離譜”
速讀:權(quán)俞利被選為慈善團(tuán)體“Beautiful Mind”宣傳大使 積極進(jìn)行弱勢(shì)群體音樂(lè)藝術(shù)教育活動(dòng)
Copyright © 2015-2022 太平洋服裝網(wǎng)版權(quán)所有 備案號(hào):豫ICP備2022016495號(hào)-17 聯(lián)系郵箱:93 96 74 66 9@qq.com