博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
六数码问题(回溯)
阅读量:6292 次
发布时间:2019-06-22

本文共 857 字,大约阅读时间需要 2 分钟。

时限:1000ms 内存限制:10000K  总时限:3000ms

描述:

现有一两行三列的表格如下:

A B C
D E F
把1、2、3、4、5、6六个数字分别填入A、B、C、D、E、F格子中,每个格子一个数字且各不相同。每种不同的填法称为一种布局。如下:

1 3 5

2 4 6
布局1
2 5 6
4 3 1
布局2

定义α变换如下:把A格中的数字放入B格,把B格中的数字放入E格,把E格中的数字放入D格,把D格中的数字放入A格。

定义β变换如下:把B格中的数字放入C格,把C格中的数字放入F格,把F格中的数字放入E格,把E格中的数字放入B格。
问:对于给定的布局,可否通过有限次的α变换和β变换变成下面的目标布局:
1 2 3
4 5 6
目标布局

输入:

本题有多个测例,每行一个,以EOF为输入结束标志。每个测例的输入是1到6这六个数字的一个排列,空格隔开,表示初始布局ABCDEF格中依次填入的数字。

输出:

每个输出占一行。可以转换的,打印Yes;不可以转换的,打印No。

输入样例:

1 3 5 2 4 6

2 5 6 4 3 1

输出样例:

No

Yes

#include
#define deep 15//深搜深度--共判断2^15种状态int Arr[deep]={
0};int num[10]={
0};//六个格子填的数int flag=0;//标记是否到达终点void search(int m);void Achange();void Bchange();void check();int isaim();////int main(){ while(scanf("%d",&num[0])!=EOF) { flag=0; for(int i=0;i

转载于:https://www.cnblogs.com/IThaitian/archive/2012/07/17/2594575.html

你可能感兴趣的文章
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>
IOE,为什么去IOE?
查看>>
Storm中的Worker
查看>>