FZU1892接水管游戏-BFS加上简单的状态压缩和位运算处理

原题地址:http://acm.fzu.edu.cn/problem.php?pid=1892

Problem 1892 接水管游戏

Accept: 108    Submit: 498
Time Limit: 1000 mSec    Memory Limit : 32768 KB

Problem Description

接水管游戏的规则如下:
1、在N*N大小的方格上有两个特别的水管,分别为进水口和出水口;
2、有7种1*1大小的水管需要放在这N*N大小的方格内,使得水流能够从进水口经过这些水管流到出水口;
3、当水流流到了出水口或者水流在流到出水口之前流出了水管,那么游戏就结束了;
4、游戏的分数为水流经过水管的数目(除了进水口和出水口);
5、游戏中有四个方向,分别表示东南西北,可用数字编号说明水管中水流的方向,1表示可以向东流,2表示可以向南流,4表示可以向西流,8表示可以向北流;
6、七种水管的形状如下: :编号为15; :编号为9; :编号为6; :编号为3; :编号为12; :编号为10; :编号为5;
7、进水口的编号需要再加上16,出水口的编号需要再加上32,进水口和出水口中的水流只有一个方向,游戏中有且只有一个进水口和一个出水口;
8、每一时刻,水流都会沿着水管的水流方向流到相邻的方格之中,如果该方格没有水管或者水管接头不对应,那么水流将流出水管。
现在水管已经接好了,请你计算出在当前情况下,能够得到的分数。

Input

输入数据第一行为一整数T,表示有T组输入数据。每组输入数据的第一行为一个整数N(5≤N≤50),表示方格的大小,以下有N行,每行有N个数字Mij(1≤i,j≤N),表示第i行第j列方格中的水管编号,Mij=0表示该方格没有水管。

Output

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值