50202023-04-09 21:44:28zsomborMisztikus táblázatcpp17Hibás válasz 0/1001.074s37556 KiB
#include <iostream>
#include <vector>
using namespace std;
using ll = long long;

ll n, s, o, a, k, MOD = 1e9 + 7, ans = 1;
vector <vector <int>> dp(2001, vector <int>(2001, 0));
vector <vector <bool>> b(2001, vector <bool>(2001, false));

int main()
{
    cin >> n >> s >> o;
    dp[0][0] = 1;
    for (int i = 1; i <= n; i++) {
        dp[i][0] = (dp[i - 1][0] * i) % MOD;
        for (int j = 1; j <= i; j++) {
            dp[i][j] = (MOD + dp[i][j - 1] - dp[i - 1][j - 1]) % MOD;
        }
    }
    for (int i = 1; i <= s; i++) {
        k = 0;
        for (int j = 0; j < o; j++) {
            cin >> a;
            b[i][a] = true;
            k += b[i - 1][a];
        }
        ans *= dp[n - o][k];
        ans %= MOD;
    }
    for (int i = 0; i < n - s; i++) {
        ans *= dp[n][n];
        ans %= MOD;
    }
    cout << ans;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva13ms34532 KiB
2Hibás válasz13ms34664 KiB
3Hibás válasz368ms34860 KiB
subtask20/5
4Időlimit túllépés1.001s35076 KiB
5Időlimit túllépés1.054s35284 KiB
6Időlimit túllépés1.069s18432 KiB
7Időlimit túllépés1.062s18720 KiB
subtask30/9
8Hibás válasz16ms35920 KiB
9Hibás válasz16ms35800 KiB
10Időlimit túllépés1.024s19036 KiB
11Időlimit túllépés1.074s19220 KiB
subtask40/15
12Hibás válasz16ms36224 KiB
13Elfogadva14ms36232 KiB
14Hibás válasz16ms36496 KiB
15Elfogadva14ms36764 KiB
16Hibás válasz13ms36708 KiB
17Elfogadva13ms36712 KiB
18Elfogadva16ms36648 KiB
19Elfogadva14ms36912 KiB
subtask50/16
20Hibás válasz16ms36868 KiB
21Hibás válasz16ms36860 KiB
22Időlimit túllépés1.072s19752 KiB
23Hibás válasz57ms36880 KiB
24Hibás válasz404ms36880 KiB
subtask60/25
25Hibás válasz25ms36852 KiB
26Elfogadva23ms36876 KiB
27Hibás válasz24ms36876 KiB
28Hibás válasz14ms36900 KiB
29Hibás válasz18ms36924 KiB
30Hibás válasz21ms36880 KiB
31Hibás válasz20ms36908 KiB
32Hibás válasz20ms36880 KiB
subtask70/30
33Hibás válasz145ms37156 KiB
34Elfogadva128ms37132 KiB
35Időlimit túllépés1.072s20116 KiB
36Hibás válasz57ms37344 KiB
37Hibás válasz317ms37300 KiB
38Hibás válasz734ms37556 KiB
39Hibás válasz532ms37468 KiB
40Hibás válasz90ms37380 KiB
41Hibás válasz407ms37360 KiB
42Hibás válasz769ms37364 KiB