leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE | |
commit | e41c31d07c5a3d23d84cf829b66a22d46d073f13 |
parent | 4afb9e20130e7d4ba85d23741ce5959eb09ef0af |
author | Dimitrije Dobrota <mail@dimitrijedobrota.com> |
date | Sun, 2 Jul 2023 13:36:42 +0200 |
Daily Problem
Diffstat:A | Problems/1601.cpp | | | +++++++++++++++++++++++++++ |
M | README.md | | | + |
2 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/Problems/1601.cpp b/Problems/1601.cpp
@@ -0,0 +1,27 @@
class Solution {
int degree[21] = {0};
int res = 0;
void rec(const vector<vector<int>> &req, int cur = 0, int cnt = 0,
int dirty = 0) {
if (cnt + (req.size() - cur) < res) return;
if (cur == req.size()) {
if (dirty) return;
res = max(res, cnt);
return;
}
rec(req, cur + 1, cnt, dirty);
if (degree[req[cur][0]]++ == 0) dirty++;
if (--degree[req[cur][1]] == 0) dirty--;
rec(req, cur + 1, cnt + 1, dirty);
degree[req[cur][0]]--, degree[req[cur][1]]++;
}
public:
int maximumRequests(int n, const vector<vector<int>> &requests) {
rec(requests);
return res;
}
};
diff --git a/README.md b/README.md
@@ -492,6 +492,7 @@ for solving problems.
| 1575 | Medium | [Count All Possible Routes](Problems/1575.cpp) |
| 1579 | Hard | [Remove Max Number of Edges to Keep Graph Fully Traversable](Problems/1579.cpp) |
| 1584 | Medium | [Min Cost to Connect All Points](Problems/1584.cpp) |
| 1601 | Hard | [Maximum Number of Achievable Transfer Requests](Problems/1601.cpp) |
| 1603 | Easy | [Design Parking System](Problems/1603.cpp) |
| 1609 | Medium | [Even Odd Tree](Problems/1609.cpp) |
| 1615 | Medium | [Maximal Network Rank](Problems/1615.cpp) |