Pagini recente » Cod sursa (job #2182263) | Cod sursa (job #1972592) | Cod sursa (job #1785196) | Cod sursa (job #1651612) | Cod sursa (job #637515)
Cod sursa(job #637515)
#include <iostream.h>
#include <fstream.h>
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
int n,stiva[20],count=0;
void ini_date()
{
int i;
f>>n;
f.close();
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;
g.close();
return 0;
}