| 18750 | 2025-11-04 11:13:54 | algopro | Permutációk | cpp17 | Futási hiba 54/100 | 381ms | 210920 KiB |
// UUID: a21ba884-b261-4171-bb3e-f29e59246440
#include <bits/stdc++.h>
using namespace std;
const int c=305;
long long n, k, fakt[c], dp[c][c][c], ans, mod=1e9+7;
int main()
{
cin >> n >> k;
fakt[0]=1;
for (int i=1; i<=n; i++) {
fakt[i]=fakt[i-1]*i%mod;
}
if (k>=n-1) {
cout << fakt[n] << "\n";
return 0;
}
k=n-k;
dp[1][1][0]=1, dp[1][1][n]=mod-1;
for (int pos=1; pos<=n; pos++) {
for (int len=1; len<=k; len++) {
for (int ut=0; ut<=n-pos; ut++) {
if (ut) dp[pos][len][ut]+=dp[pos][len][ut-1];
long long ert=dp[pos][len][ut]%mod;
if (len==k) {
ans=(ans+ert*fakt[n-pos])%mod;
continue;
}
int nagy=n-pos-ut;
dp[pos+1][1][0]+=ert;
dp[pos+1][1][ut]+=mod-ert;
dp[pos+1][len+1][ut]+=ert;
dp[pos+1][len+1][ut+nagy]+=mod-ert;
}
}
}
cout << ans << "\n";
return 0;
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 1ms | 316 KiB | ||||
| 3 | Futási hiba | 1ms | 416 KiB | ||||
| subtask2 | 12/12 | ||||||
| 4 | Elfogadva | 1ms | 508 KiB | ||||
| 5 | Elfogadva | 2ms | 564 KiB | ||||
| 6 | Elfogadva | 1ms | 316 KiB | ||||
| 7 | Elfogadva | 1ms | 320 KiB | ||||
| subtask3 | 0/11 | ||||||
| 8 | Futási hiba | 1ms | 316 KiB | ||||
| 9 | Futási hiba | 1ms | 316 KiB | ||||
| 10 | Futási hiba | 1ms | 568 KiB | ||||
| 11 | Futási hiba | 1ms | 316 KiB | ||||
| subtask4 | 23/23 | ||||||
| 12 | Elfogadva | 3ms | 2548 KiB | ||||
| 13 | Elfogadva | 14ms | 12272 KiB | ||||
| 14 | Elfogadva | 14ms | 13108 KiB | ||||
| 15 | Elfogadva | 27ms | 21812 KiB | ||||
| 16 | Elfogadva | 1ms | 408 KiB | ||||
| subtask5 | 19/19 | ||||||
| 17 | Elfogadva | 65ms | 39732 KiB | ||||
| 18 | Elfogadva | 208ms | 124468 KiB | ||||
| 19 | Elfogadva | 381ms | 210920 KiB | ||||
| 20 | Elfogadva | 1ms | 316 KiB | ||||
| 21 | Elfogadva | 1ms | 316 KiB | ||||
| subtask6 | 0/35 | ||||||
| 22 | Futási hiba | 2ms | 564 KiB | ||||
| 23 | Futási hiba | 1ms | 316 KiB | ||||
| 24 | Futási hiba | 2ms | 564 KiB | ||||
| 25 | Futási hiba | 1ms | 580 KiB | ||||
| 26 | Futási hiba | 1ms | 316 KiB | ||||
| 27 | Futási hiba | 1ms | 316 KiB | ||||
| 28 | Futási hiba | 1ms | 316 KiB | ||||
| 29 | Futási hiba | 1ms | 316 KiB | ||||
| 30 | Elfogadva | 1ms | 316 KiB | ||||