Pagini recente » Cod sursa (job #1776896) | Cod sursa (job #2561206) | Cod sursa (job #2279580) | Cod sursa (job #2255893) | Cod sursa (job #14720)
Cod sursa(job #14720)
#include <iostream>
#include <fstream>
int a[255][32385];
using namespace std;
int main(int argc, char* argv[]){
ifstream inf("1-sir.in");
ofstream outf("1-sir.out");
int n;
long S;
inf >> n;
inf >> S;
inf.close();
S = n*(n-1)/2-S;
if ((S%2) != 0){
outf << 0;
return 0;
}
if (S < 0) {
outf << 0;
return 0;
}
if (S==0) {
outf << 1;
return 0;
}
S /= 2;
int i,j,k,jj;
for (i=1;i<n;i++){
a[i][i] = 1;
for (j=i+1;j<=i*(i+1)/2;j++){ // se poate pune j<=S
jj = j-i;
for(k=1;k<i;k++){
if (k>jj) break;
a[i][j]+=a[k][jj];
}
}
}
unsigned long rezultat = 0;
for (i=1;i<n;rezultat+=a[i][S],i++);
outf <<rezultat<<endl;
outf.close();
}