終極爐石程序設計題:瓦莉拉的小夥伴

文章推薦指數: 80 %
投票人數:10人

李天師放出的山東省省賽計算魚人騎斬殺的一道ACM題,作為安徽省省賽三屆出題者想說講道理那題是個水題,我去年出的計算刀油賊斬殺的題目才叫一個噁心。

這是我根據當時熱門的爐石傳說卡組刀油賊的玩法給2015安徽省賽出的題目,解法就是模擬玩法+暴力搜索所有情況,跑完所有測試數據需要1分鐘;題面很長,沒玩過爐石基本做不出來,就是為了卡中科大的人讓他們不能AK。





出題時是去年4月份,跟實驗室一起打爐石的師弟測試數據和算法測試了好久,結果現在環境退了,刀油消失,亂舞削弱,物是人非。

想要挑戰這題的小夥伴可以戳合肥工業大學OJ,Problem 1347。

瓦莉拉的小夥伴

問題描述

《爐石傳說》是暴雪公司出品的一款卡牌類對戰遊戲,俗話說暴雪出品必屬精品,《爐石傳說》集休閒性與競技性於一體的,是科研之餘燒腦休閒的必備神器。

zz_2215是一個土豪玩家,充了很多錢組了一套刀油賊,這是一套對技術要求很高的瞬間爆發斬殺型牌組,但是zz_2215的技術實在太菜了,連小學生的算術都做不好,並不能在天梯中快速上分。

RudySnow在一旁看不下去了,決定幫zz_2215一把,計算此時zz_2215能否斬殺對方,贏得比賽勝利。

如果你沒有玩過《爐石傳說》,下面是遊戲的規則。

對戰在兩個玩家之間展開,每個玩家扮演一個英雄,每個英雄有一些血量,當某個英雄血量降為0或以下的時候扮演他的玩家就輸了,對方玩家獲得勝利。

玩家之間每回合輪流打出一些牌,每張牌消耗一定的法力值,每回合英雄可用的總的法力值是有限的,該回合打出的牌的法力值總消耗不能超過該回合英雄可用的法力值。

玩家可以打出的牌分為隨從和法術牌。

打出隨從牌會在自己場上放置一個隨從,隨從擁有攻擊力和血量,可以攻擊對方場上隨從或英雄。

若攻擊對方英雄,對方英雄失去相應的血量;若攻擊對方隨從,兩隨從進行比較,雙方隨從血量都要減去對方攻擊力造成的傷害,若隨從血量降為0或以下則該隨從死亡。

例如我方場上有一個4攻擊力3血量的隨從,對方場上有一個3攻擊力4血量的隨從,敵方隨從攻擊我方隨從,雙方隨從都會死亡。

每個隨從每回合只能攻擊一次,且在一般情況下,當回合上場的隨從不能展開攻擊。

但是隨從可以有一些屬性,此處考慮的屬性為衝鋒和嘲諷。

擁有衝鋒屬性的隨從上場的當回合可以立刻展開攻擊。

當場上具有嘲諷屬性的隨從時,對方英雄和隨從攻擊時必須先攻擊該嘲諷隨從,除非該嘲諷隨從死亡才能攻擊其他隨從和英雄。

(法術牌不受嘲諷效果影響,如果卡牌效果允許則法術牌可以選擇任意目標)

法術牌不在場上打出隨從,但是擁有各種各樣的效果,後面會具體講解一些法術牌的效果。

你控制的英雄是潛行者瓦莉拉,她有一些特殊的職業專屬效果。

比如每回合她可以使用2點法力值的英雄技能一次(每回合只能使用英雄技能一次),獲得一把攻擊力為1,耐久度為2的匕首,使用這把匕首英雄可以攻擊對方隨從或英雄,對其造成等同於匕首攻擊力的傷害;若攻擊對象是對方隨從,瓦莉拉會受到等同於對方隨從攻擊力的傷害(如果瓦莉拉血量小於對方隨從攻擊力瓦莉拉會死亡)。

每回合最多只能使用匕首攻擊一次,且攻擊一次後匕首耐久度降低1點,若匕首耐久度降為0或以下該匕首會被摧毀。

潛行者還有一個特殊的職業特性是連擊,若她的某張法術牌有連擊特性,那麼如果你在打出該張卡片前打出過其他卡片,就能觸發卡片的連擊效果。

例如某張法術牌的效果是「對敵方英雄造成2點傷害;連擊:對敵方英雄造成4點傷害」,那麼這一回合你只打出這張法術牌,能對敵方英雄造成2點傷害,但是如果你在打出這張法術牌前使用了其他的隨從或法術牌,然後再打出這張牌,就能對敵方英雄造成4點傷害。

連擊必須由其他卡片觸發,英雄技能並不能觸發連擊。

本題中你扮演英雄瓦莉拉,當前是你的行動回合,你的場上沒有隨從,也未裝備匕首,對方場上可能會有一些隨從,這些隨從都帶有嘲諷屬性。

題目會給出當前對方英雄的血量,以及你的英雄血量,可用法力值,手牌中的隨從和法術牌情況,對方場上的隨從情況。

請你計算在當前回合能否通過使用英雄技能和一套最優的出牌順序,在自己英雄不死亡的前提下,將對方英雄血量擊殺到0或以下,完成斬殺。

你可能擁有的卡牌為:

南海船工:消耗法力值1,攻擊力2,血量1,特效:在你正裝備一把匕首時獲得衝鋒,否則不衝鋒(你唯一可能擁有的隨從牌,並且最多可能擁有1張,你的其餘牌都是法術牌)

伺機待發:消耗法力值0,特效:本回合中你施放的下一個法術牌的法力值消耗減少3點,但不小於0點

致命藥膏:消耗法力值1,特效:使你的匕首增加2點攻擊力(若使用時沒有裝備匕首則無效果但仍消耗法力值)

劍刃亂舞:消耗法力值2,特效:直接摧毀你的匕首,對敵方英雄和所有敵方隨從角色造成等同於匕首攻擊力的傷害(若使用時沒有裝備匕首則無效果但仍消耗法力值)

刺骨:消耗法力值2,特效:對敵方英雄或任意一個敵方隨從造成2點傷害;連擊:對敵方英雄或任意一個敵方隨從造成4點傷害

悶棍:消耗法力值2,特效:將一個指定的敵方場上隨從悶回對方手牌中。

(必須對敵方隨從使用,若敵方場上沒有隨從則無法使用)

修補匠的磨刀油:消耗法力值4,特效:使你的匕首增加3點攻擊力(若使用時沒有裝備匕首則無效果但仍消耗法力值);連擊:使你的匕首增加3點攻擊力,同時使一個隨機的我方場上隨從增加3點攻擊力(若使用時沒有裝備匕首則只增加隨從的攻擊力)

輸入

首先是一個正整數T(0

接下來是T組數據

每組數據第一行是兩個正整數n1,n2(0

下面一行是一個正整數m(0

下面一行是一個整數t1(0<=t1<=10),表示該回合我方可用的手牌數量

下面一行有t1個正整數,每個正整數表示我方擁有的手牌,和題目描述中的對應,例如為1 1 2 2,就表示我方當前擁有兩張南海船工和兩張伺機待發(若t1=0即沒有手牌時沒有這一行輸入)

下面一行是一個整數t2(0<=t2<=7),表示敵方場上的隨從數量,若t2等於0則輸入結束,若t2>0,下面是t2行,每行有兩個整數a,b用來表示一個敵方隨從(所有敵方隨從默認具有嘲諷屬性),a(0<=a<=12)表示該隨從的攻擊力,b(0

輸出

對每組數據表示的場面,若通過特定的出牌順序可以完成斬殺,輸出「Bao Qian」,若並不能完成斬殺,輸出「Da De Bu Cuo」,每個輸出單獨占一行

樣例輸入

2

1 30

10

10

1 2 2 3 4 5 5 6 7 7

0

30 1

1

4

3 5

樣例輸出

Bao Qian

Da De Bu Cuo

註:看到了最後的抱歉與打得不錯,囧。

這裡猜測一下,可能是為了整體難度下降所以爆刀可以空發?

歡迎加入我們的爐石qq群:304910611,共同交流遊戲心得。

冒險模式

熱門攻略

熱門卡組


請為這篇文章評分?


相關文章 

梟雄的謝幕演出《爐石傳說》本周亂斗攻略

眾所周知,由於爐石傳說即將進入所謂的「退環境」,玩家將無法在4月份更新後的標準模式當中繼續使用副本「納克薩瑪斯」中的任何卡牌,而作為納克薩瑪斯絕對核心的克爾蘇加德也將退出歷史舞台,不過本周的爐石...