제출 #891850

#제출 시각아이디문제언어결과실행 시간메모리
89185012345678다리 (APIO19_bridges)C++17
13 / 100
3046 ms9192 KiB
#include <bits/stdc++.h>

using namespace std;

const int nx=5e4+5;
int n, m, q, w[nx], u[nx], v[nx], t, idx, vl, st, k, vs[nx], cnt;
vector<pair<int, int>> d[nx];

void dfs(int x)
{
    cnt++;
    //cout<<"vs "<<x<<'\n';
    for (auto [y, idx]:d[x]) if (w[idx]>=k&&!vs[y]) vs[y]=1, dfs(y);
}

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n>>m;
    for (int i=1; i<=m; i++) cin>>u[i]>>v[i]>>w[i], d[u[i]].push_back({v[i], i}), d[v[i]].push_back({u[i], i});
    cin>>q;
    while (q--)
    {
        cin>>t;
        if (t==1) cin>>idx>>vl, w[idx]=vl;
        else
        {
            cin>>st>>k;
            cnt=0;
            for (int i=1; i<=n; i++) vs[i]=0;
            vs[st]=1;
            dfs(st);
            cout<<cnt<<'\n';
        }
    }
}
#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...