#include<bits/stdc++.h>usingnamespace std;int n, m;int r[20][3];int fx[3]={0,1,0};int fy[3]={0,0,1};int c;voidprint(int k){
c++;
cout << c <<":";for(int i =1; i <= k -1; i++){
cout << r[i][1]<<","<< r[i][2]<<"->";}
cout << n <<","<< m << endl;}voiddfs(int x,int y,int k){
r[k][1]= x;
r[k][2]= y;if(x == n && y == m){print(k);return;}int tx, ty;for(int i =1; i <=2; i++){
tx = x + fx[i];
ty = y + fy[i];if(tx >=1&& tx <= n && ty >=1&& ty <= m){dfs(tx, ty, k +1);}}}intmain(){
cin >> n >> m;dfs(1,1,1);}
1739
#include<bits/stdc++.h>usingnamespace std;int n, c;int r[30][3];bool f[10][10];int fx[5]={0,0,1,0,-1};int fy[5]={0,1,0,-1,0};voidprint(int k){
c++;
cout << c <<":";for(int i =1; i <= k -1; i++){
cout << r[i][1]<<","<< r[i][2]<<"->";}
cout << n <<","<< n<<endl;}voiddfs(int x,int y,int k){
r[k][1]= x;
r[k][2]= y;if(x == n && y == n){print(k);return;}int tx, ty;for(int i =1; i <=4; i++){
tx = fx[i]+ x;
ty = fy[i]+ y;if(tx >=1&& tx <= n && ty >=1&& ty <= n && f[tx][ty]==false){
f[tx][ty]=true;dfs(tx, ty, k +1);
f[tx][ty]=false;}}}intmain(){
cin >> n;
f[1][1]=true;dfs(1,1,1);return0;}