2013 ACM/ICPC Asia Regional Changchun Online

2013 ACM/ICPC Asia Regional Changchun Online

-------解题报告

1.HDOJ-4764

题意:

两个人在白纸上写数字,谁先写到比N更大的数(坑点:包括N),谁就输。抽象出来的模型就是,取石子游戏,巴什博奕。巴什博奕的口诀是加一整除,先手必输。在巴什博奕中谁赢了,意味着谁先取到N,在这道题中,谁先取到N-1,谁就是赢家。因为留给对手的只有N,所以他必输!

代码:

int main()
{
#ifdef LOCAL
    //freopen("in.txt", "r", stdin);
    //freopen("out.txt", "w", stdout);
#endif // LOCAL
    int N, k;
    while(cin >> N >> k && N && k)
    {
        if ((N - 1) % (k + 1) == 0)
            cout << "Jiang" << endl;
        else
            cout << "Tang" << endl;
    }
    return 0;
}

注意:用(N-1) % (k + 1) ==  0实际上就是加一整除,先手必输,用N-1取代N,表示赢家先取到N-1,这道题的输家就会取N这个数!

你可能感兴趣的:(C++,ACM,解题报告,博弈论)