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

📄 cavalier travel.cpp

📁 骑士游历,骑士经过每一个点
💻 CPP
字号:
#include <iostream.h>
#include<iomanip.h>

const int N=5;
static int a[9]={0,2,1,-1,-2,-2,-2,1,2};
static int b[9]={0,1,2,2,1,-1,-2,-2,-1};
int Horsetry(int i,int x,int y,int h[N+1][N+1])
{
	int u,v,flag,count=0;
	do
	{
		count++;
		flag=0;
		u=x+a[count];
		v=y+b[count];
		if((u>=1&&u<=N)&&(v>=1&&v<=N)&&h[u][v]==0)
		{
			h[u][v]=i;
			if(i<N*N)
			{
				flag=Horsetry(i+1,u,v,h);
				if(!flag)
					h[u][v]=0;
			}
			else
			{
				flag=1;
			}
		}
	}while(!flag&&count<8);	
	return flag;
}

int main()
{
	int i,j,flag,x,y;
	static int h[N+1][N+1]={0};
	cin>>x>>y;
	h[x][y]=1;
	flag=Horsetry(2,x,y,h);
	if(flag)
	{
		cout<<"Output:\n";
		for(i=1;i<=N;i++)
		{
			for(j=1;j<=N;j++)
				cout<<setw(5)<<setiosflags(ios::right)<<h[i][j]<<' ';
			cout<<endl;
		}
	}
	else
		cout<<"No Solution!"<<endl;
	return 0;
}

⌨️ 快捷键说明

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