Cod sursa(job #197909)
Utilizator | Data | 7 iulie 2008 09:17:05 | |
---|---|---|---|
Problema | Grigo | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <stdio.h>
int a[100001],sol[100001],n,m;
void citire()
{int x;
FILE *f;
f=fopen("grigo.in","r");
fscanf(f,"%d %d",&n,&m);
for (int i=0;i<m;i++)
{fscanf(f,"%d",&x);
a[x]=1;
}
fclose(f);
}
void calculeaza()
{
sol[1]=1;
for (int i=1;i<=n;i++)
if (a[i]==0) sol[i]=(sol[i-1]*(i-1))%1000003;
else sol[i]=sol[i-1];
}
void afiseaza()
{FILE *f;
f=fopen("grigo.out","w");
fprintf(f,"%d",sol[n]);
fclose(f);
}
int main()
{
citire();
calculeaza();
afiseaza();
return 0;
}