提出 #21899896
ソースコード 拡げる
#include <bits/stdc++.h>
#define i64 long long
#define sz(a) int((a).size())
#define all(a) (a).begin(), (a).end()
#define rep(i, a, b) for (int i = (a); i < (b); ++i)
#define per(i, a, b) for (int i = (b) - 1; i >= (a); --i)
using namespace std;
const int N = 62;
int n, nz;
i64 f[N][N * N / 4][N], c[N][N];
// f[i][j][k] : i points, j zero-secs, k strings
// i < n * 2 + 2, j < n * n + 1, k < n + 2
int main() {
// freopen("ARC117E.in", "r", stdin); //
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
cin >> n >> nz; // n +1's and n -1's, 2 * n + 1 points
rep(i, 0, n + 1) {
c[i][0] = c[i][i] = 1;
rep(j, 1, i) {c[i][j] = c[i - 1][j] + c[i - 1][j - 1];}
}
f[0][0][0] = 1;
rep(i, 0, n * 2 + 2) {
rep(j, 0, n * n + 1) {
rep(k, 0, n + 2) {
if (!f[i][j][k]) {continue;}
rep(d, k + 1, min(n + 1, 2 * n + 1 - i) + 1) {
f[i + d][j + d * (d - 1) / 2][d - k]
+= f[i][j][k] * c[d - 1][k];
}
}
}
}
i64 res = 0;
rep(i, 0, n * 2 + 2) {
rep(j, 0, n * n + 1) {
rep(k, 0, n + 2) {
if (!f[i][j][k]) {continue;}
if (!k or j > nz) {continue;}
res += f[i][j][k] * f[n * 2 + 1 - i][nz - j][k - 1];
}
}
}
cout << res << '\n';
return 0;
}
/* 📌https://www.cnblogs.com/George1123/p/tips.html */
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Zero-Sum Ranges 2 |
| ユーザ | George1123 |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 900 |
| コード長 | 1304 Byte |
| 結果 | AC |
| 実行時間 | 31 ms |
| メモリ | 14168 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 900 / 900 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, sample_06.txt |
| All | in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, sample_06.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| in01.txt | AC | 8 ms | 3600 KiB |
| in02.txt | AC | 2 ms | 3616 KiB |
| in03.txt | AC | 2 ms | 3536 KiB |
| in04.txt | AC | 3 ms | 3632 KiB |
| in05.txt | AC | 2 ms | 3640 KiB |
| in06.txt | AC | 3 ms | 3592 KiB |
| in07.txt | AC | 2 ms | 3652 KiB |
| in08.txt | AC | 2 ms | 3524 KiB |
| in09.txt | AC | 2 ms | 3640 KiB |
| in10.txt | AC | 2 ms | 3664 KiB |
| in11.txt | AC | 2 ms | 3900 KiB |
| in12.txt | AC | 2 ms | 3868 KiB |
| in13.txt | AC | 4 ms | 3924 KiB |
| in14.txt | AC | 3 ms | 4020 KiB |
| in15.txt | AC | 4 ms | 4148 KiB |
| in16.txt | AC | 5 ms | 4344 KiB |
| in17.txt | AC | 4 ms | 4508 KiB |
| in18.txt | AC | 5 ms | 4720 KiB |
| in19.txt | AC | 9 ms | 4944 KiB |
| in20.txt | AC | 7 ms | 5320 KiB |
| in21.txt | AC | 8 ms | 5612 KiB |
| in22.txt | AC | 7 ms | 6000 KiB |
| in23.txt | AC | 11 ms | 6328 KiB |
| in24.txt | AC | 9 ms | 6856 KiB |
| in25.txt | AC | 13 ms | 7256 KiB |
| in26.txt | AC | 17 ms | 7852 KiB |
| in27.txt | AC | 17 ms | 8388 KiB |
| in28.txt | AC | 15 ms | 8980 KiB |
| in29.txt | AC | 17 ms | 9692 KiB |
| in30.txt | AC | 15 ms | 10420 KiB |
| in31.txt | AC | 19 ms | 11324 KiB |
| in32.txt | AC | 18 ms | 12088 KiB |
| in33.txt | AC | 23 ms | 12256 KiB |
| in34.txt | AC | 22 ms | 12984 KiB |
| in35.txt | AC | 19 ms | 12984 KiB |
| in36.txt | AC | 25 ms | 13160 KiB |
| in37.txt | AC | 21 ms | 14100 KiB |
| in38.txt | AC | 21 ms | 14108 KiB |
| in39.txt | AC | 31 ms | 14168 KiB |
| in40.txt | AC | 22 ms | 14052 KiB |
| in41.txt | AC | 23 ms | 14116 KiB |
| in42.txt | AC | 22 ms | 14100 KiB |
| in43.txt | AC | 22 ms | 14060 KiB |
| in44.txt | AC | 23 ms | 14128 KiB |
| sample_01.txt | AC | 2 ms | 3588 KiB |
| sample_02.txt | AC | 2 ms | 3684 KiB |
| sample_03.txt | AC | 2 ms | 3536 KiB |
| sample_04.txt | AC | 2 ms | 3768 KiB |
| sample_05.txt | AC | 26 ms | 14120 KiB |
| sample_06.txt | AC | 19 ms | 9772 KiB |