Cod sursa(job #2516442)

Utilizator ivan.tudorIvan Tudor ivan.tudor Data 31 decembrie 2019 15:07:48
Problema Permutari2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <iostream>
#include<cstdio>
#include<fstream>
using namespace std;
const int N=301;
int dp[N][N];
const int MOD=10007;
int n,k;
long long s;
int main()
{
  ifstream fin("permutari2.in");
  ofstream fout("permutari2.out");
  fin>>n>>k;
  int fact=1;
  for(int i=1;i<=n;i++){
    fact=fact*i%MOD;
    dp[i][1]=fact-1;
    dp[i][i]=1;
    for(int j=2;j<i;j++){
      s=0;
      for(int x=j-1;x<i;x++){
        s+=dp[x][j-1]*dp[i-x][1];
      }
      dp[i][j]=s%MOD;
      dp[i][1]-=dp[i][j];
    }
    dp[i][1]%=MOD;
    if(dp[i][1]<0)
      dp[i][1]+=MOD;
  }
  fout<<dp[n][k];
  return 0;
}