jzoj【NOIP2011模拟10.31】T1游戏
作者:互联网
T1游戏
Description
Alice和Bob在玩一个游戏,游戏是在一个N*N的矩阵上进行的,每个格子上都有
一个正整数。当轮到Alice/Bob时,他/她可以选择最后一列或最后一行,并将其删除,但
必须保证选择的这一行或这一列所有数的和为偶数。如果他/她不能删除最后一行或最后一
列,那么他/她就输了。两人都用最优策略来玩游戏,Alice先手,问Alice是否可以必胜?
#include<bits/stdc++.h> using namespace std; bool dp[1005][1005]; int t,f[1005][1005],n; int main() { cin>>t; while(t--) { memset(f,0,sizeof(f)); memset(dp,0,sizeof(dp)); scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { scanf("%d",&f[i][j]); f[i][j]=f[i][j]+f[i-1][j]+f[i][j-1]-f[i-1][j-1]; } for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { if(dp[i][j-1]==false) if((f[i][j]-f[i][j-1])%2==0) { dp[i][j]=1;continue; } if(dp[i-1][j]==false) if((f[i][j]-f[i-1][j])%2==0) { dp[i][j]=1;continue; } } if(dp[n][n]) printf("W\n"); else printf("L\n"); } }
标签:10.31,NOIP2011,jzoj,sum,Alice,偶数,必胜,1005,dp 来源: https://www.cnblogs.com/you-xiao-mang-ci/p/11285299.html