4565 | 2023. 03. 29 21:14:36 | Valaki2 | Járdakövezés háromféle elemmel | cpp14 | Elfogadva 30/30 | 4ms | 5936 KiB |
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define fi first
#define se second
const int mod = 2023;
void solve() {
int n;
cin >> n;
vector<int> fel(1 + n, 0), egesz(1 + n, 0), reszfel(1 + n, 0);
egesz[0] = 1;
fel[1] = 1;
egesz[1] = 2;
for(int i = 2; i <= n; i++) {
reszfel[i] = (fel[i - 1] + egesz[i - 2]) % mod;
// ez tuti jo
fel[i] = (egesz[i - 1] + fel[i - 1] + egesz[i - 2]) % mod;
// ketszer szamoljuk: ha ket kicsi van a legvegen
egesz[i] = (2 * egesz[i - 1] + egesz[i - 2] + 2 * reszfel[i] + 2 * fel[i - 1]) % mod;
}
cout << egesz[n] << "\n";
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
solve();
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 30/30 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1976 KiB | |||
2 | Elfogadva | 0/0 | 2ms | 2204 KiB | |||
3 | Elfogadva | 2/2 | 2ms | 2420 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2520 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2656 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 2848 KiB | |||
7 | Elfogadva | 2/2 | 2ms | 2980 KiB | |||
8 | Elfogadva | 2/2 | 2ms | 3192 KiB | |||
9 | Elfogadva | 2/2 | 3ms | 3856 KiB | |||
10 | Elfogadva | 2/2 | 3ms | 4036 KiB | |||
11 | Elfogadva | 2/2 | 4ms | 4888 KiB | |||
12 | Elfogadva | 3/3 | 4ms | 5464 KiB | |||
13 | Elfogadva | 3/3 | 3ms | 3788 KiB | |||
14 | Elfogadva | 3/3 | 3ms | 3940 KiB | |||
15 | Elfogadva | 3/3 | 4ms | 5936 KiB |