Pagini recente » Cod sursa (job #1018340) | Cod sursa (job #546976) | Cod sursa (job #364971) | Cod sursa (job #1427097) | Cod sursa (job #1523265)
#include<stdio.h>
using namespace std;
#define lacapat 1
#define nulacapat 0
int nr_cifre,baza,maimult0,maiputin0,sol1,sol2;
int nr0[20];
int dp[20][20][20];
///dp[lungimea_in_cifre][nr0consecutivi_maximi][nr0consecutivi_capat]
void bt();
int pow;
int main()
{
freopen("zero.in","r",stdin);
freopen("zero.out","w",stdout);
scanf("%d %d %d %d",&nr_cifre,&baza,&maimult0,&maiputin0);
dp[1][0][0]=baza-1;
dp[1][1][1]=1;
for(int i=2; i<=nr_cifre; i++)
{
///punem nenule peste
for(int j=1; j<baza; j++)
{
for(int k=1; k<=i; k++) dp[i][j][0]+=dp[i-1][j][k];
dp[i][j][0]+=dp[i-1][j][0];
}
///punem 0 peste
for(int j=1; j<=i; ++j)
{
dp[i][j][1]=dp[i-1][j][0];
for(int k=1; k<i; ++k) if(j==k) dp[i][j][k]+=dp[i-1][j-1][k-1];
else dp[i][j][k]+=dp[i-1][j][k-1];
}
}
for(int i=0; i<=maiputin0; ++i) sol1+=dp[nr_cifre][i][0];
for(int i=0; i<=nr_cifre; ++i)
{
printf("\n");
for(int j=0; j<=nr_cifre; ++j)
printf("%d ",dp[i][j][0]);
}
}