BZOJ1457 棋盘游戏】的更多相关文章

一开始就必胜的特判一下. #include<cstdio> #include<cstring> #include<set> #include<algorithm> using namespace std; int T,n,X[1001],Y[1001],SG[101][101]; int sg(int x,int y) { if(SG[x][y]!=-1) return SG[x][y]; set<int>S; for(int i=1;i<…
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1457 这题神奇一些就在于这题的胜利条件不是拿走最后一张牌了而是走到(0,0). 然后就需要大概的转化一下了. 观察到SG函数中如果没有石子了,说明不能移动了,此时SG=0. 首先我们将所有能一步走到(0,0)的位置A集合特殊考虑,这些位置显然是先手必胜的,那么有一些位置B是只能走到这些先手必胜的位置上的,我们就可以把它们的SG函数定为0了. 然后现在的问题成了一个棋盘,走到B集合就不能再…
Code: #include<cstdio> #include<cstring> using namespace std; #define maxn 1003 #define r 99 int n, x[maxn],y[maxn],SG[102][102],tag[6000000]; bool check(int xi,int yi){ if(xi==0||yi==0||xi==yi) return true; return false; } void get(int xi,int…
棋盘游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3372    Accepted Submission(s): 1997 Problem Description 小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只有某些格…
棋盘游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2492    Accepted Submission(s): 1452 Problem Description 小 希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是 Gardon限制了只有某…
http://acm.hdu.edu.cn/showproblem.php?pid=1281 棋盘游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3096    Accepted Submission(s): 1827 Problem Description 小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一…
洛谷1117 棋盘游戏 题目描述 在一个4*4的棋盘上有8个黑棋和8个白棋,当且仅当两个格子有公共边,这两个格子上的棋是相邻的.移动棋子的规则是交换相邻两个棋子.现在给出一个初始棋盘和一个最终棋盘,要求你找出一个最短的移动序列使初始棋盘变为最终棋盘. Klux说:“这么简单的题目,我都会做!” 输入输出格式 输入格式: 第1到4行每行四个数字(1或者0),描述了初始棋盘 接着是一个空行 第6到9行每行四个数字,描述了最终棋盘 输出格式: 输出文件的只有一行是一个整数n,表示最少的移动步数. 输入…
最近昀昀学习到了一种新的棋盘游戏,这是一个在一个N×N的格子棋盘上去搞M个棋子的游戏,游戏的规则有下列几条: 棋盘上有且仅有一个出口 开始时没有哪个棋子在出口,而且所有棋子都不相邻(这里的相邻是指上下左右四个方向) M个棋子分别记为1到M 每个时刻你可以移动一个棋子向它相邻的四个格子移动一步 你需要保证任意时刻棋盘上所有棋子都不相邻 只有当前棋盘上编号最小的棋子移动到出口时才能取走改棋子. 所有棋子都移走的时候游戏结束 对于一个给定的游戏局面,昀昀最少要多少步才能结束这个游戏呢? Input 第…
Loj 2731 「JOISC 2016 Day 1」棋盘游戏 JOI 君有一个棋盘,棋盘上有 \(N\) 行 \(3\) 列 的格子.JOI 君有若干棋子,并想用它们来玩一个游戏.初始状态棋盘上至少有一个棋子,也至少有一个空位. 游戏的目标是:在还没有放棋子的格子上依次放棋子,并填满整个棋盘.在某个格子上放置棋子必须满足以下条件之一: 这个格子的上下一格都放有棋子: 这个格子的左右一格都放有棋子. JOI 君想知道有多少种从初始状态开始,并达到游戏目标的方案,这个答案可能会非常大.请你帮 JO…
棋盘游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4808    Accepted Submission(s): 2848 Problem Description 小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只有某些…