Submission #1044687

#TimeUsernameProblemLanguageResultExecution timeMemory
1044687vjudge1Bridges (APIO19_bridges)C++17
13 / 100
23 ms12924 KiB
#include "bits/stdc++.h" using namespace std; #define int int64_t #define pb push_back using lint=__int128_t; const int lim=200100; const int mod=1e9+7; using pii=pair<int,int>; pii edges[lim]; vector<pii*>v[lim]; int cnt,weg; bool vis[lim]; void dfs(int node){ cnt++; vis[node]=1; for(pii*p:v[node]){ auto[f,s]=*p; if(!vis[f]&&weg<=s){ dfs(f); } } } signed main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #ifdef Local freopen(".in","r",stdin);freopen(".out","w",stdout); #endif int n,m; cin>>n>>m; if(n<=1000&&m<=1000){ for(int i=0;i<m;i++){ int x,y,w; cin>>x>>y>>w; edges[i<<1]={y,w}; v[x].pb(edges+(i<<1)); edges[(i<<1)+1]={x,w}; v[y].pb(edges+(i<<1)+1); } int Q; cin>>Q; for(int i=0;i<Q;i++){ int t,x,y; cin>>t>>x>>y; if(t==1){ x--; x<<=1; edges[x].second=edges[x|1].second=y; }else{ cnt=0; weg=y; for(int i=0;i<=n;i++)vis[i]=0; dfs(x); cout<<cnt<<"\n"; } } return 0; } assert(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...