Cod sursa(job #1709340)

Utilizator UAIC_oricareUAIC oricare UAIC_oricare Data 28 mai 2016 11:52:08
Problema Padure2 Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.66 kb
#include <fstream>
#include <iostream>

using namespace std;
unsigned nrDrumuri, n, m, c, cx, cy;

bool *ciuperca;

void cauta(int i, int j)
{
    // cout<<i<<" "<<j<<endl;
    if(i==n || j==m) return;
    if(i==n-1 && j==m-1) { nrDrumuri++; nrDrumuri=nrDrumuri%2000003; return; }
    if(ciuperca[i*(m-1)+j]==1) return;
    cauta(i+1,j);
    cauta(i,j+1);
}

int main()
{
    ifstream in("padure2.in");
    ofstream out("padure2.out");
    in>>n>>m>>c;
    ciuperca=new bool[n*m];
    for(unsigned i=0; i<n*m; i++) ciuperca[i]=0;
    for(unsigned i=0; i<c; i++) { in>>cx>>cy; ciuperca[(cx-1)*(m-1)+(cy-1)]=1; }
    cauta(0,0);
    out<<nrDrumuri;
}