Submission #1543196


Source Code Expand

#include <bits/stdc++.h>
using ll = long long;
using ld = long double;
using namespace std;

const int MAXN = 10001;
const int MOD = 998244353;

int pw(int a, int b = MOD - 2) {
    return 0;
}

array<int, MAXN> f, fc, f2, f2c;

string a, b;

int mul(int a, int b) {
    return (ll(a) * b) % MOD;
}

template <typename ... TArgs>
int mul(int x, TArgs&& ... args) {
    return mul(x, mul(std::forward<TArgs>(args)...));
}

int main() {
#ifdef PAUNSVOKNO
    freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);
#endif
    ios_base::sync_with_stdio(false); cout.setf(ios::fixed); cout.precision(20);
    cin >> a >> b;
    int n = a.length();

    int k = 0, c = 0;
    for (int i = 0; i < n; i++)
        if (a[i] == '1') {
            k++;
            c += (b[i] - '0');
        }

    f.fill(0);
    f2.fill(0);

    f[0] = 1;

    for (int i = 1; i <= k; i++) {
        fc = f;
        f2c = f2;
        f.fill(0), f2.fill(0);
        for (int j = 0; j <= i; j++) {
            int d = i - j;
            ll ans = 0;

            if (j > 0) {
                f2[j] += mul(fc[j - 1], i);
                if (j > 1) f2[j] += mul(i, j - 1, f2c[j - 1]);
                f2[j] %= MOD;
            }

            if (j) ans += mul(j, fc[j - 1]);
            if (j > 1) {
                ans += mul(j, j - 1, f2c[j - 1]);
            }
            if (d) ans += mul(d, d, fc[j]);
            if (j > 0) ans += mul(j, d, fc[j - 1]);

            f[j] = ans % MOD;
        }

    }

    cout << f[c] << "\n";
}

Submission Info

Submission Time
Task E - Shuffle and Swap
User cospleermusora
Language C++14 (GCC 5.4.1)
Score 1700
Code Size 1592 Byte
Status AC
Exec Time 956 ms
Memory 512 KB

Judge Result

Set Name Sample Partial All
Score / Max Score 0 / 0 1200 / 1200 500 / 500
Status
AC × 4
AC × 46
AC × 88
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
Partial sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_2_01.txt, subtask_2_02.txt, subtask_2_03.txt, subtask_2_04.txt, subtask_2_05.txt, subtask_2_06.txt, subtask_2_07.txt, subtask_2_08.txt, subtask_2_09.txt, subtask_2_10.txt, subtask_2_11.txt, subtask_2_12.txt, subtask_2_13.txt, subtask_2_14.txt, subtask_2_15.txt, subtask_2_16.txt, subtask_2_17.txt, subtask_2_18.txt, subtask_2_19.txt, subtask_2_20.txt, subtask_2_21.txt, subtask_2_22.txt, subtask_2_23.txt, subtask_2_24.txt, subtask_2_25.txt, subtask_2_26.txt, subtask_2_27.txt, subtask_2_28.txt, subtask_2_29.txt, subtask_2_30.txt, subtask_2_31.txt, subtask_2_32.txt, subtask_2_33.txt, subtask_2_34.txt, subtask_2_35.txt, subtask_2_36.txt, subtask_2_37.txt, subtask_2_38.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 384 KB
sample_02.txt AC 1 ms 384 KB
sample_03.txt AC 1 ms 384 KB
sample_04.txt AC 1 ms 384 KB
subtask_1_01.txt AC 1 ms 384 KB
subtask_1_02.txt AC 1 ms 384 KB
subtask_1_03.txt AC 1 ms 384 KB
subtask_1_04.txt AC 1 ms 384 KB
subtask_1_05.txt AC 1 ms 384 KB
subtask_1_06.txt AC 1 ms 384 KB
subtask_1_07.txt AC 1 ms 384 KB
subtask_1_08.txt AC 1 ms 384 KB
subtask_1_09.txt AC 1 ms 384 KB
subtask_1_10.txt AC 1 ms 384 KB
subtask_1_11.txt AC 2 ms 384 KB
subtask_1_12.txt AC 3 ms 384 KB
subtask_1_13.txt AC 4 ms 384 KB
subtask_1_14.txt AC 9 ms 384 KB
subtask_1_15.txt AC 9 ms 384 KB
subtask_1_16.txt AC 9 ms 384 KB
subtask_1_17.txt AC 9 ms 384 KB
subtask_1_18.txt AC 8 ms 384 KB
subtask_1_19.txt AC 7 ms 384 KB
subtask_1_20.txt AC 7 ms 384 KB
subtask_1_21.txt AC 7 ms 384 KB
subtask_1_22.txt AC 7 ms 384 KB
subtask_1_23.txt AC 6 ms 384 KB
subtask_1_24.txt AC 5 ms 384 KB
subtask_1_25.txt AC 5 ms 384 KB
subtask_1_26.txt AC 5 ms 384 KB
subtask_1_27.txt AC 7 ms 384 KB
subtask_1_28.txt AC 7 ms 384 KB
subtask_1_29.txt AC 7 ms 384 KB
subtask_1_30.txt AC 7 ms 384 KB
subtask_1_31.txt AC 7 ms 384 KB
subtask_1_32.txt AC 7 ms 384 KB
subtask_1_33.txt AC 5 ms 384 KB
subtask_1_34.txt AC 5 ms 384 KB
subtask_1_35.txt AC 7 ms 384 KB
subtask_1_36.txt AC 7 ms 384 KB
subtask_1_37.txt AC 7 ms 384 KB
subtask_1_38.txt AC 7 ms 384 KB
subtask_1_39.txt AC 6 ms 384 KB
subtask_1_40.txt AC 6 ms 384 KB
subtask_1_41.txt AC 6 ms 384 KB
subtask_1_42.txt AC 6 ms 384 KB
subtask_2_01.txt AC 1 ms 512 KB
subtask_2_02.txt AC 1 ms 512 KB
subtask_2_03.txt AC 17 ms 512 KB
subtask_2_04.txt AC 392 ms 512 KB
subtask_2_05.txt AC 355 ms 512 KB
subtask_2_06.txt AC 953 ms 512 KB
subtask_2_07.txt AC 953 ms 512 KB
subtask_2_08.txt AC 956 ms 512 KB
subtask_2_09.txt AC 945 ms 512 KB
subtask_2_10.txt AC 677 ms 512 KB
subtask_2_11.txt AC 680 ms 512 KB
subtask_2_12.txt AC 678 ms 512 KB
subtask_2_13.txt AC 557 ms 512 KB
subtask_2_14.txt AC 552 ms 512 KB
subtask_2_15.txt AC 562 ms 512 KB
subtask_2_16.txt AC 450 ms 512 KB
subtask_2_17.txt AC 450 ms 512 KB
subtask_2_18.txt AC 448 ms 512 KB
subtask_2_19.txt AC 267 ms 512 KB
subtask_2_20.txt AC 267 ms 512 KB
subtask_2_21.txt AC 266 ms 512 KB
subtask_2_22.txt AC 863 ms 512 KB
subtask_2_23.txt AC 867 ms 512 KB
subtask_2_24.txt AC 863 ms 512 KB
subtask_2_25.txt AC 867 ms 512 KB
subtask_2_26.txt AC 821 ms 512 KB
subtask_2_27.txt AC 821 ms 512 KB
subtask_2_28.txt AC 269 ms 512 KB
subtask_2_29.txt AC 278 ms 512 KB
subtask_2_30.txt AC 328 ms 512 KB
subtask_2_31.txt AC 497 ms 512 KB
subtask_2_32.txt AC 497 ms 512 KB
subtask_2_33.txt AC 498 ms 512 KB
subtask_2_34.txt AC 497 ms 512 KB
subtask_2_35.txt AC 798 ms 512 KB
subtask_2_36.txt AC 799 ms 512 KB
subtask_2_37.txt AC 797 ms 512 KB
subtask_2_38.txt AC 797 ms 512 KB