Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. ifstream in("hercule.in");
  7. ofstream out("hercule.out");
  8.  
  9. int n,m,a[15][15],l,v[20][20];
  10. int di[4]={-1,0,1,0};
  11. int dj[4]={0,-1,0,1};
  12.  
  13. bool ok(int x, int y)
  14. {
  15. if(x<1|| y<1 || x>n || y>m)
  16. return false;
  17. return true;
  18. }
  19.  
  20. void bck(int x, int y, int k)
  21. {
  22. v[x][y]=k;
  23. if(x==n && y==m)
  24. {
  25. l++;
  26. }
  27. else
  28. for(int i=0;i<4;i++)
  29. {
  30. int xnou=x+di[i];
  31. int ynou=y+dj[i];
  32. if(ok(xnou,ynou) && k<a[xnou][ynou] && v[xnou][ynou]==0)
  33. bck(xnou,ynou,k+1);
  34. }
  35. v[x][y]=0;
  36. }
  37.  
  38. int main()
  39. {
  40. in>>n>>m;
  41. for(int i=1;i<=n;i++)
  42. for(int j=1;j<=m;j++)
  43. in>>a[i][j];
  44. bck(1,1,1);
  45. out<<l;
  46. return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement