2083专题

博弈---ZOJ 2083 Win the Game(染绳子)

原题:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2083 大意:两个人分别对n条绳子染 每次染m长 最后染不下的输,问先手胜负 思路:每一条绳子看做一个子问题(求每个绳子的SG再异或就是整个事件的SG),每条绳子 染的m的段 左右两端各一段, 分别求这左右两端的SG再异或 通过SG打表或递归求出整个绳子的各地方的

ZOJ 2083 SG博弈

题目:题目链接 题目意思:题目是说两个人给n条线染色,每次可以染的长度是2.A先手,问A是赢还是输?假设双方都采取最好的策略 分析:思路:裸求SG函数,和把一排石子分成若干堆相似,每次把长度为x的线段分成长度为i和x-i-2的线段,然后异或后求出mex值(mex值指不属于这个集合的非负整数),最后把所有子游戏的SG值异或求和 代码: #include <iostream>#in

poj 2083 poj3768 画图搜索

下面是poj2083  discuss里面的精简代码 #include"stdio.h"#include"math.h"main(){int i,j,n,ii,jj,k;while(scanf("%d",&n)&&n--!=-1){for(i=0;i<pow(3,n);i++,printf("\n"))for(j=0;j<pow(3,n);j++){for(ii=i,jj=j,k=0;