50242023-04-09 22:07:47zsomborMisztikus táblázatcpp17Elfogadva 100/100458ms68864 KiB
#include <iostream>
#include <vector>
using namespace std;
using ll = long long;

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

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    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;
        }
    }
    fill(b[0].begin(), b[0].end(), true);
    for (int i = 1; i <= s; i++) {
        for (int j = 0; j < o; j++) {
            cin >> a;
            b[i][a] = true;
        }
        a = 0;
        for (int j = 1; j <= n; j++) if (!b[i][j] && !b[i - 1][j]) a++;
        ans *= dp[n - o][a];
        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
1Elfogadva25ms65780 KiB
2Elfogadva24ms66104 KiB
3Elfogadva202ms66056 KiB
subtask25/5
4Elfogadva416ms66400 KiB
5Elfogadva439ms66736 KiB
6Elfogadva453ms66612 KiB
7Elfogadva446ms66820 KiB
subtask39/9
8Elfogadva28ms67028 KiB
9Elfogadva29ms67376 KiB
10Elfogadva437ms67468 KiB
11Elfogadva448ms67684 KiB
subtask415/15
12Elfogadva24ms67888 KiB
13Elfogadva28ms67852 KiB
14Elfogadva24ms67852 KiB
15Elfogadva28ms67980 KiB
16Elfogadva25ms68068 KiB
17Elfogadva24ms68064 KiB
18Elfogadva28ms68064 KiB
19Elfogadva25ms68160 KiB
subtask516/16
20Elfogadva24ms68408 KiB
21Elfogadva24ms68376 KiB
22Elfogadva446ms68356 KiB
23Elfogadva71ms68276 KiB
24Elfogadva193ms68192 KiB
subtask625/25
25Elfogadva27ms68160 KiB
26Elfogadva27ms68080 KiB
27Elfogadva34ms68084 KiB
28Elfogadva29ms68076 KiB
29Elfogadva27ms68076 KiB
30Elfogadva32ms68080 KiB
31Elfogadva27ms68284 KiB
32Elfogadva32ms68368 KiB
subtask730/30
33Elfogadva104ms68384 KiB
34Elfogadva96ms68504 KiB
35Elfogadva458ms68500 KiB
36Elfogadva75ms68588 KiB
37Elfogadva194ms68504 KiB
38Elfogadva326ms68584 KiB
39Elfogadva266ms68708 KiB
40Elfogadva87ms68716 KiB
41Elfogadva231ms68724 KiB
42Elfogadva344ms68864 KiB