分析
对于博弈问题我们可以把从一个必胜状态和必败状态进行推导。我们已经知道 是个必败节点,那么
则是必胜节点,从而可以得到
也是必败节点。把图画出来,我们发现出现了一个很显然的分形结构,而最小单元是个
的图,把表打出来就可以了,时间复杂度为
。
代码
#include<bits/stdc++.h>
using namespace std;
int read() {
int x = 0,f = 0;char ch = getchar();
while(!isdigit(ch)) {if(ch == '-') f = 1;ch = getchar();}
while(isdigit(ch)) {x = x*10 + ch - '0';ch = getchar();}
return f?-x:x;
}
const int N = 1e5+100,p = 1e9 + 7;
#define LL long long
int ans[3][3] = {{1,0,0},{0,1,0},{0,0,1}};
signed main() {
int T = read();
while(T--) {
int n = read(),m = read();
if(ans[n%3][m%3]) printf("awsl\n");
else printf("yyds\n");
}
}
京公网安备 11010502036488号