Cod sursa(job #1709874)

Utilizator alexandra_paticaAndreea Alexandra Patica alexandra_patica Data 28 mai 2016 14:15:01
Problema Padure2 Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.91 kb
#include <cstdio>
using namespace std;
//ifstream f ("padure2.in");
//ofstream g ("padure2.out");
int n, m, i, j, x, y, c;
short a[2508][2508];
long long nr;
//short dx[]={1, 0}, dy[]={0, 1};
void fill (int i, int j)
{
    a[i][j]=2;
    if (i==n && j==m) (nr++)%2000003;
    else{
//        for (short k=0; k<2; k++){
            if (a[i][j+1]==0) fill(i, j+1);
            if (a[i+1][j]==0) fill(i+1, j);
//        }
    }
    a[i][j]=0;
}
int main ()
{
    freopen("Padure2.in", "r", stdin);
    freopen("padure2.out", "w", stdout);
    scanf("%d%d%d", &n, &m, &c);
//    f >> n >> m >> c;
    for (i=1; i<=c; i++){
        scanf("%d%d", &x, &y);
//        f >> x >> y;
        a[x][y]=1;
    }
    for (i=0; i<=n+1; i++)
        a[i][0]=a[i][m+1]=1;
    for (j=0; j<=m+1; j++)
        a[0][j]=a[n+1][j]=1;
    fill(1, 1);
    printf("%lld", nr);
//    g << nr << '\n';
    return 0;
}