Cod sursa(job #3192310)

Utilizator Luca07Nicolae Luca Luca07 Data 12 ianuarie 2024 09:00:43
Problema Padure2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 0.85 kb
#include <fstream>
#include<vector>
using namespace std;

#define mod 2000003

vector<vector<int>> dp;


ifstream cin("padure2.in");
ofstream cout("padure2.out");

int main()
{
    int i, j, n, m, c;

    cin >> n >> m;
    dp = vector<vector<int>>(n+1, vector<int>(m+1));
    dp[1][1] = 1;

    cin >> c;
    while (c--) {
        cin >> i >> j;
        dp[i][j] = -1;
    }

    for (i = 1; i <= n; i++) {
        for (j = 1; j <= m; j++) {
            if (!(i == 1 && j == 1)&&dp[i][j]!=-1) {
                int val = 0;
                if (dp[i - 1][j] != -1) {
                    val += dp[i - 1][j];
                }
                if (dp[i][j-1] != -1) {
                    val += dp[i ][j-1];
                }
                dp[i][j] = val % mod;
            }
        }
    }
    cout << dp[n][m];
    return 0;
}