게임 규칙 찾기

1136 단어 게임 이론
제목 링크: http://acm.hdu.edu.cn/showproblem.php?pid=5708
제목:무한대 의 바둑판 은 처음에는 1,1,3 가지 이동 방식 이 있 었 다.(x+1,y)(x,y+1)(x+k,y+k)마지막 에 nm 까지 가지 못 한 사람 이 졌 다.
사고의 방향.우 리 는 처음에(n,m)에서 1,1 로 가 는 것 으로 보 았 기 때문에 자 연 스 럽 게 1,1 부터 밖으로 내 보 낼 수 있다.그러면 시 계 를 치 는 절차 가 나 올 것 이다.
시 계 를 친 후에 우 리 는 k 가 1 과 같 을 때 약간 특수 하고 다른 것 은 (min(cx,cy)&1)^(n+m)&1)ps(그 중 cx=n/(k+1),cy=m/(k+1)관련
그럼 즐 거 운 분류 토론 에 표 와 대조 해 보면 되 겠 네요.
PS:규칙 을 찾 는 게 신기 하 다?
코드:
#include 

using namespace std;

int n,m,k,q;

 void pt(int x){
    if(x==1) cout<>t;
    while(t--){
        cin>>q>>k;
        while(q--){
            cin>>n>>m;
            int cx=n/(k+1),cy=m/(k+1);
            int yx=n%(k+1),yy=m%(k+1);
            if(k==1){
                if((yx==0&&m>=n)||(yy==0&&n>=m)) pt(1);
                else  pt((0^((n+m)&1)));
            }
            else{
                if((yx==0&&m>=n)||(yy==0&&n>=m)) pt(1);
                else pt((0^(min(cx,cy)&1)^((n+m)&1)));
            }
        }
    }
    return 0;
}

좋은 웹페이지 즐겨찾기