LightOJ 1393 Crazy Calendar(博弈)题解
生活随笔
收集整理的這篇文章主要介紹了
LightOJ 1393 Crazy Calendar(博弈)题解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:r*c方格中,每個格子有一定石子,每次移動每格任意數量石子,只能向下或者向右動一格,不能移動為敗
思路:顯然是Nim,到右下曼哈頓距離為偶數的不用管,因為先手動一下后手動一下最后移到右下后還是先手的回合;奇數移動一格必到偶數格,所以奇數的Nim一下。很簡單的入門題。
代碼:
#include<set> #include<map> #include<stack> #include<cmath> #include<queue> #include<vector> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> typedef long long ll; const int maxn = 5e4 + 10; const int seed = 131; const ll MOD = 1e9 + 7; const int INF = 0x3f3f3f3f; using namespace std; int main(){int T, r, c, Case = 1;ll n, ans;scanf("%d", &T);while(T--){ans = 0;scanf("%d%d", &r, &c);for(int i = 1; i <= r; i++){for(int j = 1; j <= c; j++){scanf("%lld", &n);int dis = r - i + c - j;if(dis & 1) ans ^= n;}}if(ans) printf("Case %d: win\n", Case++);else printf("Case %d: lose\n", Case++);}return 0; }?
轉載于:https://www.cnblogs.com/KirinSB/p/9706787.html
總結
以上是生活随笔為你收集整理的LightOJ 1393 Crazy Calendar(博弈)题解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “华为杯”第十八届中国研究生数学建模竞赛
- 下一篇: 计算机网络学习 - UDS协议