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 |