题目链接:http://codeforces.com/contest/451/problem/A
解题报告:有n跟红色的棍子横着放,m根蓝色的棍子竖着放,它们形成n*m个交点,两个人轮流在里面选择交点,选到的交点将把经过这个点的棍子都拿掉,最后没有点可选的人输,另一方赢。
n*m个交点不管选哪个点取效果都是一样的,dp[n][m] = !dp[n-1][m-1] (n > 1 && m >1)
1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 using namespace std; 6 int ans[105][105]; 7 void dabiao() 8 { 9 memset(ans,0,sizeof(ans)); 10 for(int i = 1;i <= 100;++i) 11 for(int j = 1;j <= 100;++j) 12 if(i == 1 || j == 1) 13 ans[i][j] = 0; 14 else ans[i][j] = !ans[i-1][j-1]; 15 } 16 int main() 17 { 18 int n,m; 19 dabiao(); 20 while(scanf("%d%d",&n,&m)!=EOF) 21 printf(ans[n][m]? "Malvika\n":"Akshat\n"); 22 return 0; 23 }