Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream in("hercule.in");
- ofstream out("hercule.out");
- int n,m,a[15][15],l,v[20][20];
- int di[4]={-1,0,1,0};
- int dj[4]={0,-1,0,1};
- bool ok(int x, int y)
- {
- if(x<1|| y<1 || x>n || y>m)
- return false;
- return true;
- }
- void bck(int x, int y, int k)
- {
- v[x][y]=k;
- if(x==n && y==m)
- {
- l++;
- }
- else
- for(int i=0;i<4;i++)
- {
- int xnou=x+di[i];
- int ynou=y+dj[i];
- if(ok(xnou,ynou) && k<a[xnou][ynou] && v[xnou][ynou]==0)
- bck(xnou,ynou,k+1);
- }
- v[x][y]=0;
- }
- int main()
- {
- in>>n>>m;
- for(int i=1;i<=n;i++)
- for(int j=1;j<=m;j++)
- in>>a[i][j];
- bck(1,1,1);
- out<<l;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement