Submission #1004975

#TimeUsernameProblemLanguageResultExecution timeMemory
1004975vjudge1다리 (APIO19_bridges)C++17
13 / 100
3041 ms10956 KiB
#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int n, m, wei[N], q, ans; vector<pair<int, int>> edges; vector<int> g[N]; bool vis[N]; void dfs(int v, int w){ ans++; vis[v] = 1; for (int e : g[v]){ if (wei[e] < w) continue; int u = edges[e].first + edges[e].second - v; if (vis[u]) continue; dfs(u, w); } } int main(){ cin >> n >> m; for (int i = 0; i < m; i ++){ int u, v, d; cin >> u >> v >> d; wei[i] = d; edges.push_back({u, v}); g[u].push_back(i); g[v].push_back(i); } cin >> q; for (int i = 0; i < q; i ++){ int t; cin >> t; if (t == 1){ int e, w; cin >> e >> w; e--; wei[e] = w; } else{ int s, w; cin >> s >> w; ans = 0; memset(vis, 0, sizeof vis); dfs(s, w); cout << ans << endl; } } }
#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...