国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

qduoj 88 一道非常簡單的爐石題(最大匹配)

2019-11-06 06:06:02
字體:
來源:轉載
供稿:網友

題目地址:點擊打開鏈接

思路:如果凡神的卡能干掉對面的卡并且自己卡不死,那么這兩張卡建立個關系,然后裸

的匈牙利,看看最大匹配是不是n。

代碼:

#include<iostream>#include<cstdio>#include<cstring>#include<vector>using namespace std;const int maxn = 105;vector<int> g[maxn];int n, match[maxn], vis[maxn];struct node{    int a, b;}a[maxn], b[maxn];bool dfs(int x){    for(int i = 0; i < g[x].size(); i++)    {        int to = g[x][i];        if(!vis[to])        {            vis[to] = 1;            if(!match[to] || dfs(match[to]))            {                match[to] = x;                return 1;            }        }    }    return 0;}int Hungary(){    int res = 0;    memset(match, 0, sizeof(match));    for(int i = 1; i <= n; i++)    {        memset(vis, 0, sizeof(vis));        res += dfs(i);    }    return res;}int main(void){    int t;    cin >> t;    while(t--)    {        scanf("%d", &n);        for(int i = 1; i <= n; i++)            scanf("%d%d", &a[i].a, &a[i].b);        for(int i = 1; i <= n; i++)            scanf("%d%d", &b[i].a, &b[i].b);        for(int i = 1; i <= n; i++)            g[i].clear();        for(int i = 1; i <= n; i++)            for(int j = 1; j <= n; j++)                if(a[i].a > b[j].b && a[i].b >= b[j].a)                    g[i].push_back(j);        puts(Hungary()==n ? "Yes" : "No");    }    return 0;}

一道非常簡單的爐石題

發布時間: 2016年6月26日 20:36   最后更新: 2016年6月26日 20:39   時間限制: 1000ms   內存限制: 256M

cfenglv學長雖然并不打爐石傳說,但是由于某爐石愛好者的忽悠,他就想去學一下如何玩爐石傳說。

傳統的爐石傳說對于剛入門的cfenglv學長來說有點復雜,于是某個爐石愛好者順手又開發了一款簡化版爐石傳說,想讓cfenglv學長先玩簡化版爐石傳說上手。

在簡化版的爐石傳說中,每個隨從只有生命值和攻擊力,并且在你的回合下,你的每只隨從在本回合下只能選擇一個敵方隨從進行攻擊。當兩個隨從a,b交戰時,a的生命值將減去b的攻擊力,b的生命值將減去a的攻擊力,(傷害沒有先后順序,同時結算)。如果a或b的生命值不大于0,該隨從將死亡。

某一次對局中,cfenglv學長和對手場面上均有n個隨從,并且是cfenglv學長的回合。

由于cfenglv學長是個固執的boy,他一定要在本回合殺死對方所有隨從,并且保證自己的隨從全部存活。他想知道能否做到。

第一行為T,表示有T組數據。T <= 500。每組數據第一行為n,表示隨從數量(1 <= n <= 100)。接下來一行2 * n個數字a1, b1, a2, b2, ... , an, bn (1 <= ai, bi <= 30),表示cfenglv學長的n個隨從,ai表示隨從生命,bi表示隨從攻擊力。接下來一行2 * n個數字c1, d1, c2, d2, ... , cn, dn (1 <= ci, di <= 30),表示對手的n個隨從,ci表示隨從生命,di表示隨從攻擊力。

每組數據,根據cfenglv是否能完成他的目標,輸出一行”Yes”或”No”。

234 4 5 5 6 61 1 2 2 3 334 4 5 5 6 61 4 2 4 3 4
YesNo
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莎车县| 福贡县| 郯城县| 峡江县| 墨竹工卡县| 仙游县| 永泰县| 靖西县| 龙泉市| 涿州市| 湟源县| 天镇县| 永新县| 当雄县| 石渠县| 镇安县| 德惠市| 凌源市| 信阳市| 苍山县| 桦南县| 肇庆市| 天门市| 南靖县| 班戈县| 长海县| 泊头市| 洪湖市| 灵川县| 垣曲县| 长岛县| 浏阳市| 咸丰县| 钟山县| 屏南县| 白山市| 崇信县| 南通市| 尉犁县| 陵水| 邛崃市|