#include<cstdio> int path[4]; int backtrack(int n) { if(n==4) { for(int i=0;i<4;i++) printf("%d%d ",i+1,path[i]); printf("/n"); return 0; } for(int i=1;i<5;i++) { int ok=1; for(int j=0;j<n;j++) if(i==path[j]||i-n==path[j]-j||path[j]-n+j==i) { ok=0; break; } if(ok) { path[n]=i; backtrack(n+1); } } return 0; } int main() { backtrack(0); return 0; }