Submission #1345764

#TimeUsernameProblemLanguageResultExecution timeMemory
1345764killerzaluuBridges (APIO19_bridges)C++20
13 / 100
3092 ms6212 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n, m;
    cin >> n >> m;

    vector<int> u(m + 1), v(m + 1), d(m + 1);
    vector<vector<pair<int,int>>> g(n + 1);

    for (int i = 1; i <= m; i++) {
        cin >> u[i] >> v[i] >> d[i];
        g[u[i]].push_back({v[i], i});
        g[v[i]].push_back({u[i], i});
    }

    int q;
    cin >> q;

    vector<int> vis(n + 1, 0);
    int timer = 0;

    while (q--) {
        int t;
        cin >> t;

        if (t == 1) {
            int b, r;
            cin >> b >> r;
            d[b] = r;
        } else {
            int s, w;
            cin >> s >> w;

            timer++;
            queue<int> qu;
            qu.push(s);
            vis[s] = timer;

            int ans = 1;

            while (!qu.empty()) {
                int x = qu.front();
                qu.pop();

                for (auto [to, id] : g[x]) {
                    if (d[id] < w) continue;
                    if (vis[to] == timer) continue;
                    vis[to] = timer;
                    ans++;
                    qu.push(to);
                }
            }

            cout << ans << '\n';
        }
    }

    return 0;
}
#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...