在簡化版的爐石傳說中:
每個隨從只有生命值和攻擊力,並且在你的回合下,你的每只隨從在本回合下只能選擇乙個敵方隨從進行攻擊。當兩個隨從a,b交戰時,a的生命值將減去b的攻擊力,b的生命值將減去a的攻擊力,(兩個傷害沒有先後順序,同時結算)。如果a或b的生命值不大於0,該隨從將死亡。
某一次對局中,gg學長和對手場面上均有n個隨從,並且是gg學長的回合。由於gg學長是個固執的boy,他一定要在本回合殺死對方所有隨從,並且保證自己的隨從全部存活。他想知道能否做到。
第一行為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表示隨從攻擊力。
每組資料,根據gg是否能完成他的目標,輸出一行」yes」或」no」。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
yes no
典型的匈牙利演算法:
**:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ll long
long
using
namespace std;
const
int n =
1007
;struct
solder
;solder
x[n], y[n];
bool mp[n][n], mk[n];
int match[n], n;
bool
dfs(
int s)}}
return
false;}
intmain()}
memset
(match,-1
,sizeof
(match));
int ans =0;
for(
int i=
0; iif(ans == n)
printf
("yes\n"
);else
printf
("no\n"
);}}
最大匹配 過山車 匈牙利
rpg girls今天和大家一起去遊樂場玩,終於可以坐上夢寐以求的過山車了。可是,過山車的每一排只有兩個座位,而且還有條不成文的規矩,就是每個女生必須找個個男生做partner和她同坐。但是,每個女孩都有各自的想法,舉個例子把,rabbit只願意和xhd或pqk做partner,grass只願意和l...
匈牙利演算法 匹配問題
假期 2020.01 27完全匹配 如果乙個匹配中,x y 且匹配數等於 x 則稱此匹配為完全匹配 特別的當 x y 時稱為完美匹配。常見實現步驟 用途 主要用於解決一些與二分圖匹配有關的問題,即部圖匹配最常見的演算法。某公司存在分工問題,一定數量的女員工與男員工搭配,如何搭配才能實現人員的最大利益...
匈牙利演算法(最大匹配問題)
匈牙利演算法 二分圖的最大匹配可以轉換為乙個網路流的問題,但是我們一般使用匈牙利演算法,這種演算法更易於理解,方便編寫。介紹這個演算法之前,首先要介紹一些必要的概念。交錯路 從乙個未匹配點出發,依次遍歷未匹配邊 匹配邊 未匹配邊,這樣交替下去,這條路徑稱為交錯路。增廣路 從乙個未匹配點出發,依次遍歷...