Pagini recente » Cod sursa (job #447798) | Profil M@2Te4i | Diferente pentru documentatie/textile intre reviziile 107 si 42 | Istoria paginii runda/simulare_fmi_nostress_3 | Cod sursa (job #727468)
Cod sursa(job #727468)
#include<fstream>
using namespace std;
const int MaxN = 301;
const int Mod = 10007;
int N,K,perm[MaxN],D[MaxN][MaxN];
const char InFile[] = "permutari2.in";
const char OutFile[] = "permutari2.out";
int main()
{
ifstream fin( InFile );
ofstream fout( OutFile );
fin >> N >> K;
perm[1] = 1;
for( register int i = 2 ; i <= N ; ++i )
perm[i] = ( perm[i-1] * i ) % Mod;
D[1][1] = 1;
for( register int i = 2 ; i <= N ; ++i )
{
int total = 0;
for( register int j = 2 ; j <= N ; ++j )
{
for( register int k = i-1 ; k >= j-1 ; --k )
D[i][j] = ( D[i][j] + (D[i-k][1]*D[k][j-1])%Mod )%Mod;
total = ( total + D[i][j] ) % Mod;
}
D[i][1] = ( perm[i] - total + Mod ) % Mod;
}
fout << D[N][K] % Mod << '\n';
fin.close();fout.close();
return 0;
}