Pagini recente » Cod sursa (job #2450912) | Cod sursa (job #2319681) | Cod sursa (job #1709526) | Cod sursa (job #2319678) | Cod sursa (job #1709404)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
struct ciuperca {
short x;
short y;
};
bool compare(ciuperca c , ciuperca d){
if (c.x == d.x)
return c.y < d.y;
return c.x < d.x;
}
int drum_x[1000001];
int drum_y[1000001];
int main () {
ifstream f ("padure2.in");
ofstream g ("padure2.out");
int c , x_final , y_final , x , y , i , ji , ok , indice = 0;
f>>x_final>>y_final;
f>>c;
ciuperca padure[c];
for (i=0 ; i < c ; i++) {
f >> padure[i].x >>padure[i].y;
}
sort (padure , padure + c , compare);
drum_x[0] = 0; ok = 1;
for(ji=1 ; ji<=y_final ; ji++)
if (padure[indice].x == 1 && padure[indice].y == ji){
if (!ok)
{
drum_x[ji] = 0; ok=0;
}
indice++;
}
else {drum_x[ji] = 1;}
for (i=2 ; i<=x_final ; i++){
if (padure[indice].x == i && padure[indice].y == 1){
drum_x[ji] = 0; indice++;
}
else drum_x[1] = 1;
for (ji=2 ; ji<=y_final ; ji++){
if (padure[indice].x == i && padure[indice].y == ji){
indice++;
drum_x[ji] = 0;
}
else drum_x[ji] = (drum_x[ji] + drum_x[ji-1])%2000003;
}
}
g << drum_x[y_final] << endl;
return 0;
}