Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. ifstream fin("traseucal.in");
  5. ofstream fout("traseucal.out");
  6. int n,m,a[25][25],dx[8]={-1,1,2,2,1,-1,-2,-2},dy[8]={2,2,1,-1,-2,-2,-1,1},ic,jc,ok=1;
  7. void citire()
  8. {
  9. fin>>n>>m;
  10. for(int i=1;i<=n;i++)
  11. for(int j=1;j<=m;j++){
  12. fin>>a[i][j];
  13. if(a[i][j]==1)a[i][j]=-1;
  14. }
  15. }
  16. void matr()
  17. {
  18. for(int i=1;i<=n;i++){
  19. for(int j=1;j<=m;j++)
  20. if(a[i][j]==-1)fout<<"0 ";
  21. else fout<<a[i][j]<<" ";
  22. fout<<'\n';
  23. }
  24. }
  25. int interior(int x,int y)
  26. {
  27. return(x>0&&x<=n&&y>0&&y<=m);
  28. }
  29. int sol(int x,int y)
  30. {
  31. return(x==n&&y==m);
  32. }
  33. void bkt(int x,int y,int k)
  34. {
  35. a[x][y]=k;
  36. if(sol(x,y)){
  37. matr();
  38. ok=0;
  39. }
  40. else{
  41. for(int i=0;i<8&&ok;i++){
  42. int iv=x+dx[i];
  43. int jv=y+dy[i];
  44. if(interior(iv,jv)&&a[iv][jv]==0)bkt(iv,jv,k+1);
  45. }
  46. }
  47. a[x][y]=0;
  48. }
  49. int main()
  50. {
  51. citire();
  52. bkt(1,1,1);
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement