Cod sursa(job #3222781)

Utilizator ionutherbil310ioan herbil ionutherbil310 Data 11 aprilie 2024 17:30:47
Problema Padure2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 0.87 kb
#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;
}