Submission #933992

#TimeUsernameProblemLanguageResultExecution timeMemory
933992vjudge1Bridges (APIO19_bridges)C++17
13 / 100
3020 ms12800 KiB
#include<bits/stdc++.h>
using namespace std;

#define F first
#define S second

const long long LLINF = 2e18+7; const double EPS = 1e-3;
const int nax = 2e5+7, INF = 1e9+7, MOD = 1e9+7;
int n, m, k, Q;
int a[nax], b[nax];
vector<pair<int,int>>adj[nax];
int ans = 0;
bool vis[nax];

void dfs(int nodo, int coche){
    if(vis[nodo])return;
    ans++; vis[nodo]=1;
    for(auto x:adj[nodo]){
        if(b[x.S] >= coche)dfs(x.F, coche);
    }
}

void subtarea1(){
   cin >> n >> m;
   for(int i=1; i<=m; i++){
    int x, y, z; cin >> x >> y >> z;
    adj[x].push_back({y,i}); adj[y].push_back({x,i}); 
    b[i]=z;
   }cin >> Q;
   while(Q--){
    int T; cin >> T;
    if(T == 1){
        int x, y; cin >> x >> y;
        b[x]=y; 
    }else{
        int x, y; cin >> x >> y;
        ans = 0;
        dfs(x, y);
        cout << ans << "\n";
        for(int i=1; i<=n; i++)vis[i]=0;
    }
   }
}

int main(){
    cin.tie(0); ios::sync_with_stdio(0);
    subtarea1();
    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...