7885 2024. 01. 11 17:56:15 adam Járda-L (40) cpp17 Elfogadva 40/40 3ms 4184 KiB
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> dp;

int calculate (int n, int space) {
    if (n < 0)  return 0;
    else if (n == 0 && space == 0) return 1;


    if (dp[n][space] != -1) return dp[n][space];
    int answer = 0;
    if (space == 2) {
        answer += calculate(n, 0); // fektettett
    } else if (space == 1) {
        answer += calculate(n-1, 1); // fektetett
        answer += calculate(n-1, 0); // L
    }else if (space == 0) {
        answer += calculate(n - 1, 0); // allitott
        answer += calculate(n - 2, 2); // fektettett
        answer += calculate(n - 2, 1) * 2; // L
    }

    return dp[n][space] = answer;
}

int main() {
    int n;
    cin >> n;
    dp.assign(n+1, vector(3, -1));

    cout << calculate(n, 0) << endl;
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1808 KiB
2 Elfogadva 0/0 3ms 2204 KiB
3 Elfogadva 2/2 3ms 2344 KiB
4 Elfogadva 2/2 3ms 2488 KiB
5 Elfogadva 2/2 3ms 2648 KiB
6 Elfogadva 2/2 3ms 2860 KiB
7 Elfogadva 2/2 3ms 3088 KiB
8 Elfogadva 3/3 3ms 3236 KiB
9 Elfogadva 3/3 3ms 3360 KiB
10 Elfogadva 3/3 3ms 3532 KiB
11 Elfogadva 3/3 3ms 3620 KiB
12 Elfogadva 3/3 3ms 3640 KiB
13 Elfogadva 3/3 3ms 3852 KiB
14 Elfogadva 3/3 3ms 3944 KiB
15 Elfogadva 3/3 3ms 4048 KiB
16 Elfogadva 3/3 3ms 4052 KiB
17 Elfogadva 3/3 3ms 4184 KiB