Pagini recente » Cod sursa (job #2755077) | Cod sursa (job #691051) | Cod sursa (job #2198291) | Cod sursa (job #217325) | Cod sursa (job #667407)
Cod sursa(job #667407)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
int n,stiva[20],count=0;
void ini_date()
{
int i;
f>>n;
for(i=0; i<=n ;i++)
{
stiva[i]=0;
}
}
int valid_1(int p)
{
int i,s=0;
for(i=1; i<=p ;i++)
{
s+=stiva[i];
}
if(s==p)
{
return 2;
}
else
{
if(s<p)
{
return 1;
}
else
{
return 0;
}
}
}
int valid_2(int p)
{
int i,s=0;
for(i=1; i<=p ;i++)
{
s+=stiva[i];
}
if(s==n)
{
return 1;
}
else
{
return 0;
}
}
void BKT(int p)
{
int pval;
if(p==n+1)
{
if(valid_2(p-1))
{
count++;
}
}
else
{
for(pval=0; pval<=p ;pval++)
{
stiva[p]=pval;
if(valid_1(p))
{
BKT(p+1);
}
}
}
}
int main()
{
ini_date();
BKT(1);
g<<count;
return 0;
}