jzoj2642. 【NOIP2011模拟10.31】游戏

这篇博客介绍了Alice和Bob在一个N*N的矩阵上进行的游戏,矩阵中的每个格子都有一个正整数。游戏规则是玩家必须选择最后一列或最后一行删除,条件是所选行或列的和为偶数。Alice先手,问题在于Alice是否能确保胜利。通过矩形动态规划(DP)策略分析,博客给出了如何判断Alice是否必胜的方法和代码实现。
摘要由CSDN通过智能技术生成

Description

Alice和Bob在玩一个游戏,游戏是在一个N*N的矩阵上进行的,每个格子上都有一个正整数。当轮到Alice/Bob时,他/她可以选择最后一列或最后一行,并将其删除,但必须保证选择的这一行或这一列所有数的和为偶数。如果他/她不能删除最后一行或最后一列,那么他/她就输了。两人都用最优策略来玩游戏,Alice先手,问Alice是否可以必胜?

Input

第一行:T,表示数据组数
对于每组数据的第一行:N
接下来N行,每行N个数,描述这个矩阵

Output

如果Alice必胜输出W,否则输出L

Sample Input

2
2
2 4
6 8
3
5 4 2
1 5 9
7 3 8

Sample Output

L
W

Data Constraint

Hint

100%数据满足
1<=N<=1000
保证每一行或每一列的和不会超过2*10^9
1<=T<=5

30%数据满足
1<=N<=5

50%数据满足
1<=N<=100

70%数据满足
1<=N<=500

正解

矩形DP

lie[i,j]代表列的前缀和

hang[i,j]代表行的前缀和

dp[i,j,k]代表递归到i,j这个点时 横切/竖切 的dp值(必胜/必输)

p[i,j,k]代表这种状态是否走过

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值