Pagini recente » Cod sursa (job #838715) | Cod sursa (job #1672409) | Cod sursa (job #869909) | Cod sursa (job #267859) | Cod sursa (job #544310)
Cod sursa(job #544310)
#include <iostream>
#include <fstream>
using namespace std;
const char iname[] = "sortari2.in";
const char oname[] = "sortari2.out";
const int mod = 999017;
ifstream fin(iname);
ofstream fout(oname);
int fact[1005], i, n, j, l, k;
int dp[1005][1005];
int main()
{
fin >> n;
fact[0] = 1;
for(i = 1; i <= n; i ++)
fact[i] = (i * fact[i - 1]) % mod;
dp[1][0] = 1;
dp[0][0] = 1;
for(i = 2; i <= n; i ++)
for(j = 0; j <= n; j ++)
for(l = max(1, i - j); l <= n; l ++)
dp[i][j] = (dp[i][j] + dp[i - 1][j - (i - l)]) % mod;
fout << fact[n] - dp[n][n - 1] - dp[n][n] - 1;
return 0;
}