nicuvlad76

Untitled

Dec 17th, 2020
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define N 15
  3. using namespace std;
  4. ifstream fin("traseucal.in");
  5. ofstream fout("traseucal.out");
  6. int a[N][N],n,m;
  7. int dl[]={-2, -2, 2, 2, -1, -1, 1, 1};
  8. int dc[]={-1, 1, -1, 1, -2, 2, -2, 2};
  9. void Citire()
  10. {
  11. fin>>n>>m;
  12. for(int i=1;i<=n;i++)
  13. for(int j=1;j<=m;j++)
  14. {
  15. fin>>a[i][j];
  16. a[i][j]=-a[i][j];
  17. }
  18. }
  19. void Afisare()
  20. {
  21. for(int i=1;i<=n;i++)
  22. {
  23. for(int j=1;j<=m;j++)
  24. if(a[i][j]<0) fout<<"0 ";
  25. else fout<<a[i][j]<<" ";
  26. fout<<"\n";
  27. }
  28. }
  29. bool Inside(int i, int j){return 1<=i &&i<=n &&1<=j &&j<=m;}
  30. void Back(int l, int c, int k)
  31. {
  32. int ln,cn;
  33. if(a[l][c]==0)
  34. {
  35. a[l][c]=k;
  36. if(l==n && c==m){Afisare(); return;}
  37. else
  38. {
  39. for(int i=0;i<8;i++)
  40. {
  41. ln=l+dl[i];
  42. cn=c+dc[i];
  43. if(Inside(ln,cn)) Back(ln,cn,k+1);
  44. }
  45. }
  46. a[l][c]=0;
  47.  
  48. }
  49. }
  50. void Zero()
  51. {
  52. for(int i=1;i<=n;i++)
  53. {
  54. for(int j=1;j<=m;j++) fout<<"0 ";
  55. fout<<"\n";
  56. }
  57. }
  58. int main()
  59. {
  60. Citire();
  61. Back(1,1,1);
  62. //Zero();
  63. return 0;
  64. }
  65.  
Advertisement
Add Comment
Please, Sign In to add comment