ch追妹 博弈

来源:互联网 发布:apple id被盗 mac被锁 编辑:程序博客网 时间:2024/06/06 22:04

Description

n个点的一张无向图,ch站在a点,ch要追的妹子站在b点。r_clover为了让ch安心训练,要阻止ch追妹。ch每走一步,r_clover就会挖断一条路。ch和r_clover均采用最优策略,问ch能不能追到妹子

Input

第一行为数据组数T(T≤10)。
每组数据的第一行为四个数 n,m,a,b(1≤a,b≤n≤20; 1≤m≤80),分别表示点数,边数,ch的位置,妹子的位置。
之后m行,每行两个数 u,v(1≤u,v≤n),表示u,v之间有一条无向边。数据保证没有重边和自环(即不会出现u到u的边,也不会出现两条u到v的边)。

Output

对每组数据输出一行,如果ch能够成功追妹,输出chhappy,否则输出chsad。

Sample Input

2
2 1 1 2
1 2
3 2 1 3
1 2
2 3

Sample Output

chhappy
chsad

Hint

题意

给一无向图 问能否从给定的一点到另一点 每走一步 就要删掉一条路 两者都要是最优策略 问能否到达

题解:

其实只要一直断前面的那条路 就不可能到达 除非一步直达

AC代码

#include<cstdio>#include<cmath>#include<algorithm>using namespace std;#define ll long longint main(){    int t;    scanf("%d",&t);    while (t--){        int n,m,a,b;        scanf("%d%d%d%d",&n,&m,&a,&b);        bool  flag = false;        int x,y;        for (int i = 0; i < m; ++i){            scanf("%d%d",&x,&y);            if (x == a&&y == b||x == b&&y == a){                flag = true;            }        }        if (flag) puts("chhappy");        else puts("chsad");    }    return 0;}
0 0
原创粉丝点击