http://acm.hdu.edu.cn/showproblem.php?pid=6620 N数码问题: n*n矩阵,里面填着1—n*n-1,还有1个空格, 通过上下左右移动空格的位置, 使矩阵里的数升序排列,空格在右下角. 解的存在性判断结论: (上面的N=n*n-1) 将原矩阵从左上角开始展开成一个序列,计算该序列的逆序对数A 将目标矩阵同理计算逆序对数B 逆序对数的计算不包括空格 若n为奇数,A与B奇偶性相同则有解 若n为偶数,设原矩阵空格在第a行,目标矩阵空格在第b行,k=|a-b|…
Time limit 2000 ms Memory limit 262144 kB OS Windows 解题过程 感觉搜索不可行,状态太多了,120步,判断状态是否重复时,即使用std::map也太慢了点.然后不会了.之后百度了一下 数字华容道怎样才能有解 回忆经典,讲述滑块游戏背后的数学故事 原来这个叫15数码问题啊--(另外,以后写博客有没有必要在底部搞个正经的参考文献列表呢?带格式的那种) 结论如下--首先记录0所在的行数.然后把这四行排成一排,去掉0,求一次逆序对数.有解的充要条件是,…
题意:给定M*N的数码图,问能否移动到最终状态 分析 有解的判定条件可见 八数码有解条件 值得一提的是,这道题求逆序对卡树状数组,只能用归并排序. #include<cstdio> #include<algorithm> #include<cstring> using namespace std; ; int n,m,pos,x,ans,zero; int seq[maxn],tmp[maxn]; void msort(int l,int r) //对seq进行排序 {…
理论基础 轮换与对换 概念:把 $S$ 中的元素 $i_1$ 变成 $i_2$,$i_2$ 变成 $i_3$ ... $i_k$ 又变成 $i_1$,并使 $S$ 中的其余元素保持不变的置换称为循环,又称轮换,记为 $(i_1, i_2,...,i_k)$,$k$ 称为循环长度,特别地,循环长度为2的循环称为对换. 定理: (1)任一置换可表示成若干个无公共元素的循环之积 (2)任一置换可表示成若干个对换之积,且对换个数的奇偶性不变. 八数码中的置换 若一个置换可以分解成奇数个对换之积称为奇置换…
N数码问题 首先,先贯彻一个理念.奇偶性很神奇,对于一类问题,如果属于同种性质(奇偶性相同),那么它们就是完全相同(这个在某种意义上说)的,,一些问题如果奇偶性相同那么里面涉及的问题都是等价的. 数码问题考虑的是逆序对的奇偶性.将二维数组排成一维,空格和左右的数交换不改变逆序对个数(实际上在一维中,空格和左右的数交换,忽略空格的话,交换前后一维数组的排列顺序是完全不变的). 4*4空间 5 6 7 8 \n 9 10 % 12 --> 5 6 % 8 \n 9 10 7 12 空格和上面的数7交…
先介绍八数码问题: 我们首先从经典的八数码问题入手,即对于八数码问题的任意一个排列是否有解?有解的条件是什么? 我在网上搜了半天,找到一个十分简洁的结论.八数码问题原始状态如下: 1 2 3 4 5 6 7 8 为了方便讨论,我们把它写成一维的形式,并以0代替空格位置.那么表示如下: 1 2 3 4 5 6 7 8 0 通过实验得知,以下状态是无解的(交换了前两个数字1 2): 2 1 3 4 5 6 7 8 0 八数码问题的有解无解的结论: 一个状态表示成一维的形式,求出除0之外所有数字的逆序…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1043 The 15-puzzle has been around for over 100 years; even if you don't know it by that name, you've seen it. It is constructed with 15 sliding tiles, each with a number from 1 to 15 on it, and all pack…
HDU 1043 Eight(八数码) 00 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)   Problem Description - 题目描述 The 15-puzzle has been around for over 100 years; even if you don't know it by that name, you've seen it. It is constructed with 15 slid…
one recursive approach to solve hdu 1016, list all permutations, solve N-Queens puzzle. reference: the video of stanford cs106b lecture 10 by Julie Zelenski https://www.youtube.com/watch?v=NdF1QDTRkck // hdu 1016, 795MS #include <cstdio> #include &l…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4662 MU Puzzle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1296    Accepted Submission(s): 539 Problem Description Suppose there are the symbo…