Pagini recente » Cod sursa (job #2177527) | Cod sursa (job #2491414) | Cod sursa (job #2487834) | Cod sursa (job #2448569) | Cod sursa (job #406689)
Cod sursa(job #406689)
#include <iostream>
#include <fstream>
using namespace std;
#define MOD 194767
#define pr 65280 //255*256
int N, S;
int Pos[2][pr+2];
int abs(int k) {
if(k>=0) return k;
else return -k;
}
int main() {
FILE *f1=fopen("1-sir.in", "r"), *f2=fopen("1-sir.out", "w");
int i, j, p, q;
fscanf(f1, "%d%d", &N, &S);
if(S>pr) { fprintf(f2, "0\n"); }
else {
Pos[0][0]=1;
for(i=2; i<=N; i++) {
for(j=0; j<=pr; j++) {
//cite siruri de lungime i cu suma j exista ?
Pos[1][j] = (Pos[0][abs(j-i+1)] + Pos[0][abs(j+i-1)]) % MOD;
}
for(j=0; j<=pr; j++) {
Pos[0][j]=Pos[1][j]; Pos[1][j]=0;
}
}
fprintf(f2, "%d\n", Pos[0][abs(S)]);
}
fclose(f1); fclose(f2);
return 0;
}