提交时间:2024-08-21 10:22:43

运行 ID: 175699

#include<bits/stdc++.h> using namespace std; int a[11][11],n; bool b[11][11]; int dx[8]={1,2,2,1,-1,-2,-2,-1} int dy[8]={-2,-1,1,2,2,1,-1,-2}; void search(int x,int y,int t){ if(t==n*n){ for(j=n-1;j>=0;j--){ for(int i=0;i<n;i++){ cout<<a[i][j]<<" "; } cout<<endl; } exit(0); } for(int i=0;i<8;i++){ int p=x+dx[i],q=y+dy[i]; if(p>=0&&p<n&&q>=0&&q<n&&!(b[p][q])){ b[p][q]=true; a[p][q]=t+1; search(p,q,a[p][q]); b[p][q]=false; } } } int main(){ int x,y; cin>>n>>x>>y; a[x][y]=1; b[x][y]=true; search(x,y,1); cout<<-1; return 0; }