sgu139Help Needed!判断15数码是否有解,以及判断N数码是否有解的推论
来源:互联网 发布:seo在哪里可以自学 编辑:程序博客网 时间:2024/05/16 07:13
是这样的,要你判断一个15数码是否有解。
我不会,找了这样一个方法。
将16个数按出现顺序存放在一维数组里面,
然后累加每个数的逆序对数目,
还要加上0到终态的曼哈顿距离,得到一个数x。
由于最后的状态,整个图的逆序对数目是15,
是个奇数,于是,如果x也是奇数,
那么这个15数码就有解,
否则无解。
其它各种数码,都按照此法解就是了,
我的代码如下:
#include<iostream>using namespace std;int main(){int map[16],ans=0;for(int i=0;i<16;i++){scanf("%d",&map[i]);if(!map[i])ans+=6-i%4-i/4;for(int j=0;j<i;j++)if(map[j]>map[i])ans++;}if(ans&1)printf("YES");elseprintf("NO");}
0 0
- sgu139Help Needed!判断15数码是否有解,以及判断N数码是否有解的推论
- 判断N数码问题是否有解
- hdu 3600 Simple Puzzle 判断N 数码是否有解
- 八数码问题判断是否有解
- 八数码的几种做法的总结以及是否有解的判断
- 判断N 数码是否有解 牛人总结 归并排序
- POJ 1077 Eight(八数码第八境界|IDA*+曼哈顿距离+判断是否有解)
- HDU_3600_八数码之类的问题是否有解
- 八数码有解
- 八数码问题完全版-是否可解判断及求解
- 判断24点算法,是否有解
- 判断是否有汉字
- 判断是否有英文
- 判断是否有SDCard
- 判断是否有下划线
- 判断是否有网络
- 判断是否有更新
- 判断是否有网
- Hadoop2.0.0-CDH4中NodeManager启动不了的解决方法!
- 题目21:包含min()方法的栈
- 当我在写程序的时候,我究竟在写些什么?
- Linux下多路复用式串口操作
- 盘古越狱工具 v1.1 官方免费版
- sgu139Help Needed!判断15数码是否有解,以及判断N数码是否有解的推论
- oracle cast 用法
- ios学习之用xcode写简单的HelloWorld控制台程序
- Xcode5.x编译64位应用时的出错问题
- linux man 手册中的下划线字段
- hadoop搭建好后出现的format异常
- perl控制流介绍(if条件,while,for循环,foreach)
- B-Tree(Balance Tree)的Java实现
- String.split("","")与StringUtil.split("","")的区别