⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gupai.cpp

📁 多米诺骨牌是一个小正方形方块
💻 CPP
字号:
#include<iostream.h>
int a[56]={6,6,2,6,5,2,4,1,1,3,2,0,1,0,3,4,1,3,2,4,6,6,5,4,1,0,4,3,2,1,1,2,5,1,3,6,0,4,5,5,5,5,4,0,2,6,0,3,6,0,5,3,4,2,0,3};;//用于存放骨牌矩阵
int b[56]={0};//记录编号矩阵
int num[7][7];//骨牌数值
int c[30]={0};
int flag;

void readdata(){

num[0][0]=1;
num[0][1]=2;
num[0][2]=3;
num[0][3]=4;
num[0][4]=5;
num[0][5]=6;
num[0][6]=7;
num[1][1]=8;
num[1][2]=9;
num[1][3]=10;
num[1][4]=11;
num[1][5]=12;
num[1][6]=13;
num[2][2]=14;
num[2][3]=15;
num[2][4]=16;
num[2][5]=17;
num[2][6]=18;
num[3][3]=19;
num[3][4]=20;
num[3][5]=21;
num[3][6]=22;
num[4][4]=23;
num[4][5]=24;
num[4][6]=25;
num[5][5]=26;
num[5][6]=27;
num[6][6]=28;

num[1][0]=2;
num[2][0]=3;
num[3][0]=4;
num[4][0]=5;
num[5][0]=6;
num[6][0]=7;
num[2][1]=9;
num[3][1]=10;
num[4][1]=11;
num[5][1]=12;
num[6][1]=13;
num[3][2]=15;
num[4][2]=16;
num[5][2]=17;
num[6][2]=18;
num[4][3]=20;
num[5][3]=21;
num[6][3]=22;
num[5][4]=24;
num[6][4]=25;
num[6][5]=27;
}
void printresult(){
	for(int i=0;i<7;i++){
		for(int j=0;j<8;j++){
			cout<<b[i*8+j]<<" ";
		}
		cout<<endl;
	}
		cout<<endl;
}

void search(int n){
	while(b[n]!=0){
n++;	}
	if(n>=56)
	{	printresult();	}//找到一组解
	else	{/*
6 6 2 6 5 2 4 1               28  28  14   7  17  17  11  11
1 3 2 0 1 0 3 4               10  10  14   7   2   2  21  23
1 3 2 4 6 6 5 4                8   4  16  25  25  13  21  23
1 0 4 3 2 1 1 2                8   4  16  15  15  13   9   9
5 1 3 6 0 4 5 5               12  12  22  22   5   5  26  26
5 5 4 0 2 6 0 3               27  24  24   3   3  18   1  19
6 0 5 3 4 2 0 3               27   6   6  20  20  18   1  19
*/
//放置		//往右放
	if(n%8<7&&c[num[a[n]][a[n+1]]]==0&&b[n+1]==0){
			b[n]=b[n+1]=num[a[n]][a[n+1]];
			c[b[n]]=1;
			search(n+2);
				c[b[n]]=0;
			b[n]=b[n+1]=0;
		
		}

		if(n/8<7&&c[num[a[n]][a[n+8]]]==0){
			b[n]=b[n+8]=num[a[n]][a[n+8]];
			c[b[n]]=1;
			search(n+1);
					c[b[n]]=0;
				b[n]=b[n+8]=0;
	
		}
	}
}
void main(){
readdata();
search(0);
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -