212702026-01-12 17:38:49algoproJárdakövezés háromféle elemmelcpp17Időlimit túllépés 20/30200ms1844 KiB
// UUID: 7a49d2da-8a8a-4b69-b6c9-969ce61ee1ea
#include <bits/stdc++.h>
using namespace std;
int mod = 2023;

int main() {
	int n; cin >> n;
	vector<array<long long, 2>> dp (n+1);
	dp[0][0] = 1;
	dp[0][1] = 1;
	dp[1][0] = 1;
	dp[1][1] = 2;
	for (int i = 2; i <= n; i++) {
		dp[i][0] = (dp[i-1][1] + dp[i-1][0] + dp[i-2][1]) % mod;
		dp[i][1] = (dp[i][0] + dp[i-1][1] + 2*dp[i-2][1] + 3*dp[i-1][0]) % mod;
		cerr << dp[i][0] << " " << dp[i-1][1] << " 2*" << dp[i-2][1] << " 3*" << dp[i-1][0] << endl;
	}
	cout << dp[n][1];
}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/30
1Elfogadva0/01ms500 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms500 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms512 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/296ms844 KiB
10Időlimit túllépés0/2108ms820 KiB
11Időlimit túllépés0/2200ms1332 KiB
12Időlimit túllépés0/3199ms1588 KiB
13Elfogadva3/328ms316 KiB
14Elfogadva3/335ms564 KiB
15Időlimit túllépés0/3192ms1844 KiB