HDU 3683--模拟+搜索

来源:互联网 发布:天正不能访问到网络锁 编辑:程序博客网 时间:2024/05/22 23:06

题意:

一个五子棋残局,三步之内确定赢家。黑子先下,如果黑子数量多于白子输出Invalid,如果三步之内分不出胜负,或者三步之内可以

断谁赢,按照规定输出。



输入:

313 3 13 4 03 5 03 6 04 4 14 5 14 7 05 3 05 4 05 5 15 6 15 7 15 9 16 4 16 5 16 6 06 7 16 8 06 9 07 5 17 6 07 7 17 8 17 9 08 5 08 6 18 7 08 8 18 9 09 7 110 8 017 7 117 7 00

输出:

Place white at (5,8) to win in 3 moves.Cannot win in 3 moves.Invalid.

分析:

1、判断先手是否能在一步走赢,即是否存在一空白格子使得先手的棋子有连续的5个。

2、判断对手是否存在两个空白格子使得他能够得到连续的5个棋子,因为这样,先手就不能堵住后手。

3、枚举任一空白格子放先手棋子,则只需对手方不存在“一空白格子使得棋子有连续的5个”,且先手方此时有"两个空白格子使得他能

够得到连续的5个棋子",则先手胜。(攻防转换)


代码:


0 0
原创粉丝点击