제출 #1100876

#제출 시각아이디문제언어결과실행 시간메모리
1100876Kirill22Binary Subsequences (info1cup17_binary)C++17
0 / 100
1065 ms221512 KiB
#include "bits/stdc++.h"

using namespace std;

const int mod = (int) 1e9 + 7;
map<array<int, 3>, int> dp;

int get(int k, int a, int b) {
    if (a < 0 || b < 0) {
        return 0;
    }
    if (k == 1 && a == 0 && b == 0) {
        return 1;
    }
    assert(k == a + b + 1);
    if (dp.find({k, a, b}) == dp.end()) {
        dp[{k, a, b}] += get(a, a - b - 1, b);
        dp[{k, a, b}] += get(b, a, b - a - 1);
    }
    return dp[{k, a, b}];
}

void solve() {
    int k;
    cin >> k;
    k++;
    int ans = 0;
    for (int j = 0; j < k; j++) {
        ans += get(k, j, k - j - 1);
    }
    cout << ans << '\n';
    cout << -1 << '\n';
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int t = 1;
    cin >> t;
    while (t--) {
        solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...