Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- //MACROS
- #define MX (1024)
- int A[MX],N;
- int nr(int p,int M){
- if(!M)return 0;
- return M-1==p;
- }
- bool wn(int p,int b,int r){
- if(r==1)F(N)if(!(b&1<<i))return nr(p,(A[i]+33333333)%3);
- int X(0);
- F(N)if(!(b&1<<i))FT(i+1,N)if(!(b&1<<k)){
- int a(abs(A[i]-A[k])),l(A[i]);
- A[i]=a;
- X|=!wn(p^1,b|1<<k,r-1);
- A[i]=-a;
- X|=!wn(p^1,b|1<<k,r-1);
- A[i]=l;
- }
- return X;
- }
- int main(void){
- FT(1,30){
- N=k;
- iota(A,A+k,1);
- printf("%d: %s\n",k,wn(0,0,k)?"A":"B");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment