Cod sursa(job #2548240)

Utilizator Stefan_PiscuPiscu Stefan Constantin Stefan_Piscu Data 16 februarie 2020 13:53:52
Problema Arbori Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("arbori.in");
ofstream fout("arbori.out");

int dp[91][11][91];

int main()
{
    int n, m, k;
    fin>>n>>m>>k;
    for(int i=1;i<=n;++i) dp[1][0][i]=1;
    for(int i=2;i<=n;++i){
      dp[i][(i-1)%m][1]=1;
      for(int j=0;j<=m;++j){
        for(int l=2;l<=n;++l){
          int x=1;
          for(int cnt=0;cnt*l<i;++cnt){
            dp[i][j][l]+=dp[i-cnt*l][(j-cnt+10*m)%m][l-1]*x;
            x=x*(dp[l][(k+m-1)%m][n]+cnt)/(cnt+1);
          }
        }
      }
    }
    fout<<dp[n][k][n]<<"\n";
    return 0;
}