编程题

1665:【例 3】移棋子游戏


时间限制: 1000 ms         内存限制: 524288 KB
提交数:675    通过数: 379

【题目描述】

给定一个有 $N$ 个节点的有向无环图,图中某些节点上有棋子,两名玩家交替移动棋子。

玩家每一步可将任意一颗棋子沿一条有向边移动到另一个点,无法移动者输掉游戏。

对于给定的图和棋子初始位置,双方都会采取最优的行动,询问先手必胜还是先手必败。

【输入】

第一行,三个整数 $N , M, K$, $N$ 表示图中节点总数, $M$ 表示图中边的条数, $K$ 表示棋子的个数。

接下来 $M$ 行,每行两个整数 $X, Y$ 表示有一条边从 $X$ 出发指向 $Y$。

接下来一行, $K$ 个空格间隔的整数,表示初始时,棋子所在的节点编号。

【输出】

若先手胜,输出 $win$,否则输出 $lose$。

【输入样例】

6 8 4
2 1
2 4
1 4
1 5
4 5
1 3
3 5
3 6
1 2 4 6

【输出样例】

win

【提示】

数据范围与提示:

对于全部数据, $N≤2000,M≤6000,1≤K≤N$。

查看答案
赣ICP备20007335号-2