ll

赖泓君  •  2个月前


include<bits/stdc++.h>

using namespace std; const int N=1e4+10; int dx[5]={0,1,2,2,1}; int dy[5]={0,-2,-1,1,2}; int res[N]; bool f; int n,m; void dfs(int x,int y,int k){

if(f){
	return;
}
if(x==n&&y==m){
	f=true;
	for(int i=1;i<k;i++){
		printf("%d",res[i]);
		cout<<" ";
	}
	return;
}
if((m-y)>2*(n-x)){
	return;
}
int xx,yy;
for(int i=1;i<=4;i++){
	xx=x+dx[i];
	yy=y+dy[i];
	if(!f&&xx>=1&&xx<=n&&yy>=1&&yy<=m){
		res[k]=i;
		dfs(xx,yy,k+1);
	}
}

} int main(){

scanf("%d%d",&n,&m);
dfs(1,1,1);
if(!f){
	printf("-1\n");
}
return 0;

}


评论: