Pagini recente » Cod sursa (job #2162879) | Cod sursa (job #2356959) | Cod sursa (job #411170) | Cod sursa (job #1472140) | Cod sursa (job #1807503)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("homm.in");
ofstream out("homm.out");
const int N = 102;
int mat[N][N], d[N][N][21];
int n, m, k, x1, y1, x2, y2;
bool c(int i, int j, int k)
{
if(j > 0 && i > 0 && i <= m && j <= n) return true;
return false;
}
int main()
{
int i, j, rez=0, l;
in>>m>>n>>k;
for(i = 1; i <= m; i++)
for(j = 1; j <= n; j++)
in>>mat[i][j];
in>>x1>>y1>>x2>>y2;
d[x1][y1][0] = 1;
for(l = 1; l <= k; l++)
for(i = 1; i <= m; i++)
for(j = 1; j <= n; j++)
{
if(mat[i][j] == 0){
if(c(i, j-1, l)) d[i][j][l] += d[i][j-1][l-1];
if(c(i, j+1, l)) d[i][j][l] += d[i][j+1][l-1];
if(c(i+1, j, l)) d[i][j][l] += d[i+1][j][l-1];
if(c(i-1, j, l)) d[i][j][l] += d[i-1][j][l-1];
}
}
for(i = 0; i <= k; i++)
rez += d[x2][y2][i];
out<<rez;
return 0;
}