NYOJ135 取石子(二)尼姆博弈+巴什博奕
2017-08-24 09:29
162 查看
题目链接:NYOJ135
尼姆博弈和巴什博奕的结合
题目思路:每一堆的必胜状态是 m%(n+1) 然后对每一堆的最优解进行异或,如果是非平衡状态则先手必胜,否则先手必败。
/*
2017年8月23日23:32:33
NYOJ135
nimm+bash
AC
*/
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <queue>
#include <vector>
using namespace std;
int main(){
int t;
scanf("%d",&t);
while(t--){
int N;
int sum=0;
scanf("%d",&N);
for(int i=1;i<=N;i++){
int n,m;
scanf("%d%d",&n,&m);
sum^=n%(m+1);
}
if(sum) puts("Win");
else puts("Lose");
}
return 0;
}
尼姆博弈和巴什博奕的结合
题目思路:每一堆的必胜状态是 m%(n+1) 然后对每一堆的最优解进行异或,如果是非平衡状态则先手必胜,否则先手必败。
/*
2017年8月23日23:32:33
NYOJ135
nimm+bash
AC
*/
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <queue>
#include <vector>
using namespace std;
int main(){
int t;
scanf("%d",&t);
while(t--){
int N;
int sum=0;
scanf("%d",&N);
for(int i=1;i<=N;i++){
int n,m;
scanf("%d%d",&n,&m);
sum^=n%(m+1);
}
if(sum) puts("Win");
else puts("Lose");
}
return 0;
}
相关文章推荐
- NYOJ 135 取石子(二) (巴什博弈+尼姆博弈)(SG函数)
- NYOJ 题目135取石子(二)(博弈)
- NYOJ 135 取石子(二)(巴什博奕+尼姆博弈)
- NYOJ 135 取石子(二)(博弈)
- nyoj 135 取石子(二) 【NIM】
- NYOJ-135 取石子(二) (巴什博奕 + 尼姆博弈)
- nyoj 取石子(二) 135 (博弈&&思想)
- nyoj135 取石子(二) Nimm博弈
- NYOJ 135 取石子(二) (sg规律)
- nyoj-135-取石子(二)
- NYOJ135 取石子(二)
- NYOJ 135 取石子(二)(尼姆博奕+巴什博奕)
- NYOJ 135 取石子(二)
- NYOJ135 取石子(二)(尼姆博奕+巴什博奕)
- nyoj 135 取石子(二) 【NIM】
- NYOJ-23-取石子(一)(巴什博弈)
- nyoj23取石子(一)
- NYOJ 题目358 取石子(五)(博弈)
- 取石子 (四)_nyoj_161(博弈-奇异矩阵).java
- NYOJ:23-取石子(一)