제출 #716489

#제출 시각아이디문제언어결과실행 시간메모리
7164891zaid1Bridges (APIO19_bridges)C++17
0 / 100
3081 ms70912 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define endl '\n' const int M = 2e6+5, MOD = 998244353; map<pair<int, int>, int> e; vector<int> node[M]; int vis[M]; int dfs(int s, int x) { int ans = 1; vis[s] = true; for (int i:node[s]) { if (!vis[i] && e[{s, i}] >= x) ans += dfs(i, x); } return ans; } signed main() { cin.tie(0)->sync_with_stdio(0); int n, m; cin >> n >> m; vector<pair<int, int>> E; for (int i = 0; i < m; i++) { int a, b, c; cin >> a >> b >> c; E.push_back({a, b}); node[a].push_back(b); node[b].push_back(a); e[{a, b}] = e[{b, a}] = c; } int q; cin >> q; while (q--) { int x, y; cin >> x; if (x == 1) { cin >> x >> y; auto [a, b] = E[x-1]; e[{a, b}] = e[{b, a}] = y; } else { cin >> x >> y; cout << dfs(x, y) << endl; for (int i = 1; i <= n; i++) vis[i] = 0; } } return 0; } /* 7 8 1 2 5 1 6 5 2 3 5 2 7 5 3 4 5 4 5 5 5 6 5 6 7 5 12 2 1 6 1 1 1 2 1 2 1 2 3 2 2 2 1 5 2 1 3 1 2 2 4 2 4 2 1 8 1 2 1 1 2 1 3 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...