feat: new dp problem formated

This commit is contained in:
2025-11-20 22:51:48 -03:00
parent e8f7b22267
commit 9b0bedb5ad
182 changed files with 6831 additions and 0 deletions

45
vacations/src/TLE.cpp Normal file
View File

@@ -0,0 +1,45 @@
#include <bits/stdc++.h>
using namespace std;
/*
vacations(d, last) answers to distance d ending with character last
*/
int vacations(int d, char last, vector<int> &days) {
if (d == 0) return 0;
int cur = days[days.size() - d];
int best = INT_MAX;
if (last == 'R') {
if (cur == 3 || cur == 4) {
best = vacations(d - 1, 'G', days);
}
if (cur == 2 || cur == 4) {
best = min(best, vacations(d - 1, 'C', days));
}
best = min(best, vacations(d - 1, 'R', days) + 1);
} else if (last == 'C') {
if (cur == 3 || cur == 4) {
best = vacations(d - 1, 'G', days);
}
best = min(best, vacations(d - 1, 'R', days) + 1);
} else if (last == 'G') {
if (cur == 2 || cur == 4) {
best = min(best, vacations(d - 1, 'C', days));
}
best = min(best, vacations(d - 1, 'R', days) + 1);
}
return best;
}
int main(){
int n; cin >> n;
vector<int> A(n);
for (int i = 0; i < n; i++) {
cin >> A[i];
A[i]++;
}
cout << min({vacations(n, 'R', A) + 1, vacations(n, 'C', A), vacations(n, 'G', A)}) << endl;
return 0;
}