Cod sursa(job #201155)
| Utilizator | Data | 29 iulie 2008 12:50:03 | |
|---|---|---|---|
| Problema | Grigo | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include<stdio.h>
int n,m,x,viz[100004],a[100004],i;
int main(){
FILE *f=fopen("grigo.in","r");
fscanf(f,"%d %d",&n,&m);
for(i=1;i<=m;i++){
fscanf(f,"%d ",&x);
viz[x]=1;
}
FILE *g=fopen("grigo.out","w");
a[1]=1;
for(i=2;i<=n;i++){
if(viz[i]){
a[i]=a[i-1];
}
else{
a[i]=a[i-1]*(i-1);
}
}
fprintf(g,"%d",a[n]);
fclose(f);
fclose(g);
return 0;
}
