Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <string>
- #define N 15
- using namespace std;
- struct Poz{
- int ind, jnd;
- };
- int mat[N][N];
- int n, m;
- Poz kez, veg;
- int sz;
- Poz irany[4] = {
- {-1, 0},
- {0, 1},
- {1, 0},
- {0, -1}
- };
- void be(){
- cin>>n>>m;
- for (int i = 0; i < n; ++i) {
- for (int j = 0; j < m; ++j) {
- cin>>mat[i][j];
- }
- }
- cin>>kez.ind>>kez.jnd>>veg.ind>>veg.jnd;
- kez.ind--;kez.jnd--;
- veg.ind--;veg.jnd--;
- mat[kez.ind][kez.jnd] = 1;
- }
- void back(int ind, int jnd){
- if(ind == veg.ind and jnd == veg.jnd)
- sz++;
- for (int i = 0; i < 4; ++i) {
- int index = ind + irany[i].ind;
- int jndex = jnd + irany[i].jnd;
- if(index < 0 or jndex < 0 or index >= n or jndex >= m)
- continue;
- else if(mat[index][jndex] == 0){
- mat[ind][jnd] = 1;
- back(index, jndex);
- mat[ind][jnd] = 0;
- }
- }
- }
- int main(){
- freopen("file.in", "r", stdin);
- //freopen("file.out", "w", stdout);
- be();
- back(kez.ind, kez.jnd);
- cout<<sz;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement