제출 #977764

#제출 시각아이디문제언어결과실행 시간메모리
977764De3b0o다리 (APIO19_bridges)C++14
0 / 100
120 ms856 KiB
#include<bits/stdc++.h> #define ll long long #define F first #define S second #define in insert #define pb push_back #define ppb pop_back() #define d3 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define cans cout << ans << "\n"; #define yes cout << "Yes" << "\n"; #define no cout << "No" << "\n"; #define pll pair<ll,ll> #define lin cout << "\n"; #define sqr 340 #define mod 1000000007 #define mid ((l+r)/2) #define lc (2*n) #define rc (2*n+1) using namespace std; ll fp(ll x , ll y) { if(y==0) return 1; ll z = fp(x,y/2); if(y&1) return z*z%mod*x%mod; else return z*z%mod; } int sqrot(ll x) { int l = 0 , r = INT_MAX; while(l<=r) { if(mid*mid>=x) r=mid-1; else l=mid+1; } return r+1; } ll cel(ll x , ll y) { return x/y + bool(x%y); } pair<pll,ll> ed[1009]; set<pll> adj[1009]; bool vis[1009]; ll ans; void dfs(ll n , ll w) { if(vis[n]) return; vis[n]=1; ans++; for(auto it : adj[n]) { if(it.S>=w) dfs(it.F,w); } } int main() { d3 ll n , m; cin >> n >> m; for(int i = 1 ; m>=i ; i++) cin >> ed[i].F.F >> ed[i].F.S >> ed[i].S; for(int i = 1 ; m>=i ; i++) { adj[ed[i].F.F].in({ed[i].F.S,ed[i].S}); adj[ed[i].F.S].in({ed[i].F.F,ed[i].S}); } ll q; cin >> q; while(q--) { ll t; cin >> t; if(t==1) { ll i , val; cin >> i >> val; adj[ed[i].F.F].erase(adj[ed[i].F.F].find({ed[i].F.S,ed[i].S})); adj[ed[i].F.S].erase(adj[ed[i].F.S].find({ed[i].F.F,ed[i].S})); ed[i].S=val; adj[ed[i].F.F].in({ed[i].F.S,ed[i].S}); adj[ed[i].F.S].in({ed[i].F.F,ed[i].S}); } else { ll idx , val; cin >> idx >> val; memset(vis,0,sizeof(vis)); ans=0; dfs(idx,val); cans } } }
#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...