时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
现有一两行三列的表格如下:
A B CD E F把1、2、3、4、5、6六个数字分别填入A、B、C、D、E、F格子中,每个格子一个数字且各不相同。每种不同的填法称为一种布局。如下:1 3 5
2 4 6布局12 5 64 3 1布局2定义α变换如下:把A格中的数字放入B格,把B格中的数字放入E格,把E格中的数字放入D格,把D格中的数字放入A格。
定义β变换如下:把B格中的数字放入C格,把C格中的数字放入F格,把F格中的数字放入E格,把E格中的数字放入B格。问:对于给定的布局,可否通过有限次的α变换和β变换变成下面的目标布局:1 2 34 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