Pagini recente » Cod sursa (job #3276214) | Cod sursa (job #2231548) | Cod sursa (job #2094781) | Cod sursa (job #2367408) | Cod sursa (job #2504419)
#include <bits/stdc++.h>
#define DIM 260*260
using namespace std;
ifstream fin("1-sir.in");
ofstream fout("1-sir.out");
int n,s,i,j,smax,t,d[2][DIM];
int main() {
fin>>n>>s;
smax=n*(n-1)/2;
s=abs(s);
if (s>smax) {
fout<<"0";
return 0;
}
//d[i][j]=cate 1-siruri cu suma j si i termeni
//tinem doar 2 linii
d[0][0]=1;
for (i=1;i<=n;i++) {
t=1-t;
for (j=0;j<=s;j++) {
if (abs(j-(i-1))!=j+(i-1))
d[t][j]=d[1-t][abs(j-(i-1))]+d[1-t][j+(i-1)];
else
d[t][j]=d[1-t][j+(i-1)];
}
}
fout<<d[n&1][s];
return 0;
}