数据过于逆天
查看原帖
数据过于逆天
1119066
MarsCheng楼主2025/6/18 21:26

计算

(n2)!Πi=1n(di1)\frac{(n - 2)!}{\Pi_{i=1}^n(d_i-1)}

可以通过除了 hack 之外的所有数据

提交记录

代码(省略快读):

const int N = 150 + 7;

int n, p[N], pcnt, cnt[N], nxt[N], sum;
bool notp[N];
long long ans = 1;

int main() {
    for (int i = 2; i < N; i++) {
        if (!notp[i])
            p[++pcnt] = i, nxt[i] = pcnt;
        for (int j = 1; j <= pcnt && i * p[j] < N; j++) {
            notp[i * p[j]] = 1, nxt[i * p[j]] = j;
            if (i % p[j] == 0)
                break;
        }
    }
    read(n);
    if (n == 1)
        return read(n), put(n ? 0 : 1), 0;
    for (int i = 1; i <= n - 2; ++i)
        for (int j = i; j != 1; j /= p[nxt[j]])
            ++cnt[nxt[j]];
    for (int i = 1, d; i <= n; ++i) {
        read(d), --d, sum += d;
        if (d < 0)
            return put(0), 0;
        for (int j = d; j > 1; j /= p[nxt[j]])
            --cnt[nxt[j]];
    }
    if (sum != n - 2)
        return put(0), 0;
    for (int i = 1; i <= pcnt; ++i)
        for (int j = 1; j <= cnt[i]; ++j)
            ans *= p[i];
    put(ans);
    return 0;
}
2025/6/18 21:26
加载中...