Pagini recente » Cod sursa (job #2946345) | Cod sursa (job #1061923) | Cod sursa (job #1043093) | Borderou de evaluare (job #589038) | Cod sursa (job #3222781)
#include <iostream>
#include <fstream>
#include <vector>
#define MOD 2000003
using namespace std;
int main() {
int N, M, C;
ifstream fin("padure2.in");
ofstream fout("padure2.out");
fin >> N >> M >> C;
vector<vector<int>> DP(N + 1, vector<int>(M + 1, 0));
for (int i = 0; i < C; i++) {
int row, col;
fin >> row >> col;
DP[row][col] = -1;
}
DP[1][1] = 1;
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= M; j++) {
if (DP[i][j] != -1) {
if (DP[i - 1][j] != -1)
DP[i][j] = (DP[i][j] + DP[i - 1][j]) % MOD;
if (DP[i][j - 1] != -1)
DP[i][j] = (DP[i][j] + DP[i][j - 1]) % MOD;
}
}
}
fout << DP[N][M] << endl;
fin.close();
fout.close();
return 0;
}