Pagini recente » Cod sursa (job #766187) | Cod sursa (job #1652991) | Cod sursa (job #126728) | Cod sursa (job #1492842) | Cod sursa (job #7031)
Cod sursa(job #7031)
#include <stdio.h>
#include <string.h>
#define MaxS 1100
#define MaxN 101
int N, S;
const int SHIFT = 500;
const int shift = 50;
int A[MaxN][MaxS][200];
int main()
{
int i, j, k;
FILE *fin = fopen("1-sir.in", "rt");
fscanf(fin, "%d %d", &N, &S);
fclose(fin);
A[1][SHIFT][shift] = 1;
for (i = 2; i <= N; i++)
{
//memset(A[lc], 0, sizeof(A[lc]));
for (j = SHIFT-(i*(i+1))/2; j <= SHIFT+(i*(i+1))/2; j++)
for (k = -N+1; k < N; k++)
{
int x = k + 1;
A[i][j+x][shift+x] += A[i-1][j][shift+k];
A[i][j+x][shift+x] %= 194767;
x = k - 1;
A[i][j+x][shift+x] += A[i-1][j][shift+k];
A[i][j+x][shift+x] %= 194767;
}
}
int Val_fin = 0;
for (i = -N; i <= N; i++)
Val_fin += A[N][SHIFT+S][shift+i];
FILE *fout = fopen("1-sir.out", "wt");
fprintf(fout, "%d", Val_fin);
fclose(fout);
return 0;
}