Advertisement
Guest User

Untitled

a guest
Jan 20th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int a[8][8],n,m,xc,yc,ok;
  6. int dx[]={-2,-2,-1,-1,1,1,2,2};
  7. int dy[]={-1,1,-2,2,-2,2,-1,1};
  8.  
  9. int interior(int x,int y)
  10. {
  11. return x>0&&x<=n&&y>0&&y<=m;
  12. }
  13.  
  14. void afis()
  15. {
  16. ok=1;
  17. for(int i=1;i<=n;++i)
  18. {
  19. for(int j=1;j<=m;++j)
  20. cout<<a[i][j]<<" ";
  21. cout<<endl;
  22. }
  23. }
  24.  
  25. void BKT(int k,int x,int y)
  26. {
  27. if(ok==0)
  28. {
  29. int xv,yv;
  30. a[x][y]=k;
  31. if(k==n*m)
  32. afis();
  33. else
  34. {
  35. for(int i=0;i<8;++i)
  36. {
  37. xv=x+dx[i]; yv=y+dy[i];
  38. if(interior(xv,yv)&&a[xv][yv]==0)
  39. BKT(k+1,xv,yv);
  40. }
  41. }
  42. a[x][y]=0;
  43. }
  44. }
  45.  
  46. int main()
  47. {
  48. cin>>n>>m>>xc>>yc;
  49. BKT(1,xc,yc);
  50. return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement