方格填数
本文最后更新于 1803 天前,其中的信息可能已经有所发展或是发生改变。
#include<iostream>
#include<cstring>
using namespace std;
int arr_num[10][2];
int count=0;
int judge(int arr[3][4],int x,int y,int temp){
	if(x-1>=0&&y-1>=0){
		if(arr[x-1][y-1]==(temp-1)||arr[x-1][y-1]==(temp+1)){
			//cout<<"11"<<endl;
			return 0;
		}
	}
	if(x-1>=0){
		if(arr[x-1][y]==(temp-1)||arr[x-1][y]==(temp+1)){//cout<<"22"<<endl;
			return 0;
		}
	}
	if(x-1>=0&&y+1<4){
		if(arr[x-1][y+1]==(temp-1)||arr[x-1][y+1]==(temp+1)){//cout<<"33"<<endl;
			return 0;
		}
	}
	if(y-1>=0){
		if(arr[x][y-1]==(temp-1)||arr[x][y-1]==(temp+1)){//cout<<"44"<<endl;
			return 0;
		}
	}
	if(y+1<4){
		if(arr[x][y+1]==(temp-1)||arr[x][y+1]==(temp+1)){//cout<<"55"<<endl;
			return 0;
		}
	}
	if(x+1<3&&y-1>=0){
		if(arr[x+1][y-1]==(temp-1)||arr[x+1][y-1]==(temp+1)){//cout<<"66"<<endl;
			return 0;
		}
	}
	if(x+1<3){
		if(arr[x+1][y]==(temp-1)||arr[x+1][y]==(temp+1)){//cout<<"77"<<endl;
			return 0;
		}
	}
	if(x+1<3&&y+1<4){
		if(arr[x+1][y+1]==(temp-1)||arr[x+1][y+1]==(temp+1)){//cout<<"88"<<endl;
			return 0;
		}
	}
	return 1;
	 
} 
void dg(int arr[3][4],int x,int y){
	if(x==2&&y==3){
		for(int i=0;i<3;i++){
			for(int j=0;j<4;j++){
				cout<<arr[i][j]<<"  ";
			}
			cout<<endl;
		}
		count++;
		return;
	}
	for(int i=0;i<10;i++){
		if(arr_num[i][1]==0){
			//cout<<"i="<<i<<endl;
			if(judge(arr,x,y,arr_num[i][0])){
				arr_num[i][1]=1;
				arr[x][y]=arr_num[i][0];
				//cout<<"arr[x][y]=arr_num[i][0];"<<endl;
				//cout<<"x:"<<x<<"y:"<<y<<"arr_num[i][0]:"<<arr_num[i][0]<<endl;
				if(x==0){
					if(y+1<4){
						dg(arr,x,y+1);
					}else{
						dg(arr,1,0);
					}
				}else if(x==1){
					if(y+1<4){
						dg(arr,x,y+1);
					}else{
						dg(arr,2,0);
					}
				}else if(x==2){
					if(y+1<4){
						dg(arr,x,y+1);
					}
				}
				arr_num[i][1]=0;
				arr[x][y]=-5;
			}
		}
	}
}
int main(){
	int arr[3][4];
	for(int i=0;i<10;i++){
		arr_num[i][0]=i;
		arr_num[i][1]=0;
		cout<<arr_num[i][0]<<endl;
	}
	//memset(arr,-1,sizeof(arr));
	for(int i=0;i<3;i++){
		for(int j=0;j<4;j++){
			arr[i][j]=-5;
		}
	}
	arr[0][0]=-2;
	arr[2][3]=-2;
//	for(int i=0;i<3;i++){
//		for(int j=0;j<4;j++){
//			arr[]
//		}
//	}
	dg(arr,0,1);
	cout<<count<<endl;
	return 0;
}
作者:Yuyy
博客:https://yuyy.info
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇