Skip to content

第一场 范式杯

D Chocolate

题意: 有一个 n * m 的网格,每格放了块巧克力。Walk Alone(懵哥)和 Kelin 轮流吃巧克力Kein 先吃。每轮个人能选择一个左下角为(1,1)的子矩形,把里面的巧克力吃光,且至少要吃一个。吃到最后一个巧克力的人输。问懵哥和 Kelin 谁赢。T 组测试数据,1<T<10^5^,1<n,m <10^9^。 解法: 当n=m=1显然哥赢。当n>1或 m >1设 Kein 第一步吃(1,1) 并且懵哥赢了,那么 Kelin 可以抢先走懵哥的必胜态且不改变局面 (因为(1,1) 被任意子矩形包含) ,因此 Kelin 必胜。

c++
#include <iostream>

using namespace std;

int main() {
    int  n, m;
    
    cin >> n >> m;

   if(n == 1 && m == 1) cout<<"Walk Alone"<<endl;   
   else cout<< "Kelin"<<endl;
       
    return 0;
}

Released under the MIT License.