commit d8faf52829a7587344fa53464d9938ab3fc423cf
parent 3ee55c0e521bc706d1d73d229c343f79e2936bd3
Author: Dimitrije Dobrota <mail@dimitrijedobrota.com>
Date: Wed, 9 Oct 2024 20:03:49 +0200
1 Random Problem
Diffstat:
2 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/Problems/3310.cpp b/Problems/3310.cpp
@@ -0,0 +1,50 @@
+static const auto _ = [] {
+ ios::sync_with_stdio(0);
+ cin.tie(0);
+ return 0;
+}();
+
+class Solution {
+ public:
+ vector<int> remainingMethods(int n, int k, const vector<vector<int>> &invocations) const {
+ static bool seen[100001];
+ vector<vector<int>> invoke(n);
+
+ memset(seen, 0x00, sizeof(seen));
+ for (const auto &in : invocations) {
+ invoke[in[0]].push_back(in[1]);
+ }
+
+ queue<int> q;
+ q.emplace(k);
+ seen[k] = true;
+ while (!q.empty()) {
+ const int root = q.front();
+ q.pop();
+ for (const auto next : invoke[root]) {
+ if (seen[next]) continue;
+ seen[next] = true;
+ q.emplace(next);
+ }
+ }
+
+ for (int i = 0; i < n; i++) {
+ if (seen[i]) continue;
+ for (const auto in : invoke[i]) {
+ if (seen[in]) {
+ vector<int> res(n);
+ iota(begin(res), end(res), 0);
+ return res;
+ }
+ }
+ }
+
+ vector<int> res;
+ for (int i = 0; i < n; i++) {
+ if (seen[i]) continue;
+ res.emplace_back(i);
+ }
+
+ return res;
+ }
+};
diff --git a/README.md b/README.md
@@ -1375,3 +1375,4 @@ for solving problems.
| 3239 | Medium | [Minimum Number of Flips to Make Binary Grid Palindromic I](Problems/3239.cpp) |
| 3249 | Medium | [Count the Number of Good Nodes](Problems/3249.cpp) |
| 3254 | Medium | [Find the Power of K-Size Subarrays I](Problems/3254.cpp) |
+| 3310 | Medium | [Remove Methods From Project](Problems/3310.cpp) |