#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
// 题目链接:http://acm.fzu.edu.cn/problem.php?pid=1523
/*
博弈DP
*/
int dp[10][10][10][10];
int n, p1, p2, p3, p4;
int main() {
scanf("%d", &n);
while(n--) {
scanf("%d %d %d %d", &p1, &p2, &p3, &p4);
dp[0][0][0][0] = 1;
for(int i = 0; i <= p1; ++i) {
for(int j = 0; j <= p2; ++j) {
for(int k = 0; k <= p3; ++k) {
for(int l = 0; l <= p4; ++l) {
if(i+j+k+l == 0) continue;
dp[i][j][k][l] = 0;
for(int c = 1; c <= 3 && i - c >= 0; ++c) {
dp[i][j][k][l] |= (dp[i-c][j][k][l]^1);
}
for(int c = 1; c <= 3 && j - c >= 0; ++c) {
dp[i][j][k][l] |= (dp[i][j-c][k][l]^1);
}
for(int c = 1; c <= 3 && k - c >= 0; ++c) {
dp[i][j][k][l] |= (dp[i][j][k-c][l]^1);
}
for(int c = 1; c <= 3 && l - c >= 0; ++c) {
dp[i][j][k][l] |= (dp[i][j][k][l-c]^1);
}
}
}
}
}
if(dp[p1][p2][p3][p4]) {
printf("1\n");
} else {
printf("0\n");
}
}
return 0;
}
FOJ 1523 A Version of Nim
最新推荐文章于 2020-04-19 20:21:47 发布