Cod sursa(job #216069)
| Utilizator | Data | 22 octombrie 2008 15:48:16 | |
|---|---|---|---|
| Problema | 1-sir | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <stdio.h>
#include <math.h>
#define DIM 2*65600
int A[DIM], B[DIM],i,k,s,n;
int main(){
FILE *f = fopen("1sir.in","r");
fscanf(f,"%d %d", &n,&s);
fclose(f);
FILE *g = fopen("1sir.out","w");
if (abs(s)>n*(n-1)/2){
fprintf(g,"%d",0);
fclose(g);
return 0;
}
A[1] = 1;
A[0] = 0;
for (k=3;k<=n;k++) {
for (i=0;i<=2*s;i++)
B[i] = A[abs(i-(k-1))] + A[abs(i+k-1)];
for (i=0;i<=2*s;i++)
A[i] = B[i];
}
fprintf(g,"%d",A[s]);
fclose(g);
return 0;
}