D 爐石傳說

2021-08-06 04:00:38 字數 1584 閱讀 2041

gg學長雖然並不打爐石傳說,但是由於題面需要他便學會了打爐石傳說。但是傳統的爐石傳說對於剛入門的gg學長來說有點複雜,所以他決定自己開發乙個簡化版的爐石傳說。

在簡化版的爐石傳說中:

每個隨從只有生命值和攻擊力,並且在你的回合下,你的每只隨從在本回合下只能選擇乙個敵方隨從進行攻擊。當兩個隨從a,b交戰時,a的生命值將減去b的攻擊力,b的生命值將減去a的攻擊力,(兩個傷害沒有先後順序,同時結算)。如果a或b的生命值不大於0,該隨從將死亡。

某一次對局中,gg學長和對手場面上均有n個隨從,並且是gg學長的回合。由於gg學長是個固執的boy,他一定要在本回合殺死對方所有隨從,並且保證自己的隨從全部存活。他想知道能否做到。

input

第一行為t,表示有t組資料。t<=100。

每組資料第一行為n,表示隨從數量(1 <= n <= 100)

接下來一行2 * n個數字a1, b1, a2, b2, … , an, bn (1 <= ai, bi <= 100)

表示gg學長的n個隨從,ai表示隨從生命,bi表示隨從攻擊力

接下來一行2 * n個數字c1, d1, c2, d2, … , cn, dn (1 <= ci, di <= 100)

表示對手的n個隨從,ci表示隨從生命,di表示隨從攻擊力。

output

每組資料,根據gg是否能完成他的目標,輸出一行」yes」或」no」。

sample input

2 3

4 4 5 5 6 6

1 1 2 2 3 3

3 4 4 5 5 6 6

1 4 2 4 3 4

sample output

yes

no

思路:先將隨從的攻擊力從小到大排序,再將敵人的血量從小到大排序。最後找出能成為隨從的敵人中,攻擊力最大的作為隨從的對手

ac**:

#include

#include

#include

#include

using

namespace

std;

struct node

x[105],y[105];

bool cmp1(node x,node y)

for(int i=0;icin>>y[i].a>>y[i].b;

}sort(x,x+n,cmp1);

sort(y,y+n,cmp2);

int ok=1;

for(int i=0;iint maxx=-1,maxn;

for(int j=0;jif(x[i].b>=y[j].a&&x[i].a>y[j].b&&y[j].b>maxx&&vis[j]==0)

}if(maxx!=-1)

else

}if(ok)

printf("yes\n");

else

printf("no\n");

}return

0;}

CCF 爐石傳說

這題原本想的比較複雜,因為每次召喚隨從或隨從死亡時都要對右邊的隨從編號進行變動,然後構建了鍊錶的資料結構,但是越寫越複雜,所以馬上放棄這個思路。其實只要構建乙個結構體,結構體儲存隨從的health和attack,以及乙個flag表示隨從是否死亡。構建兩個size為8的陣列,用以儲存隨從即可。incl...

CCF爐石傳說

參考了 問題描述 爐石傳說 魔獸英雄傳 hearthstone heroes of warcraft,簡稱爐石傳說 是暴雪娛樂開發的一款集換式卡牌遊戲 如下圖所示 遊戲在乙個戰鬥棋盤上進行,由兩名玩家輪流進行操作,本題所使用的爐石傳說遊戲的簡化規則如下 玩家會控制一些角色,每個角色有自己的生命值和攻...

爐石傳說輔助

實現原理 修改遊戲檔案 注入機械人 使用 monocecil,修改 unity3d 生成的 assembly 檔案,在內部注入我們自己編寫的unity3d模組!實現細節 修改遊戲檔案 其實主要是 monocecil 的使用 通過檔名 類名 方法名,取出方法的定義 static methoddefin...