제출 #529820

#제출 시각아이디문제언어결과실행 시간메모리
529820ammar2000다리 (APIO19_bridges)C++17
13 / 100
3071 ms16244 KiB
#include<bits/stdc++.h> #define ll long long #define pb push_back #define F first #define S second #define coy cout<<"YES\n" #define con cout<<"NO\n" #define co1 cout<<"-1\n" #define sc(x) scanf("%lld",&x) #define all(x) x.begin(),x.end() #define fast ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); using namespace std; const int SI=3e5+7; ll INF=8e18+7; int dx[] = {1 , -1 , 0 , 0}; int dy[] = {0 , 0 , 1 , -1}; int MOD=1e9+7; ll q,n,m,p[SI],vis[SI],col; vector <pair < ll ,ll> > v[SI]; ll dfs(int node,int ma) { vis[node]=col; ll ret =1; for (auto i:v[node]) { if (vis[i.F]!=col&&p[i.S]>=ma) ret+=dfs(i.F,ma); } return ret; } int main() { fast cin>>n>>m; for (int i=1;i<=m;i++) { ll x,y,w; cin>>x>>y>>w; p[i]=w; v[x].pb({y,i}); v[y].pb({x,i}); } cin>>q; while (q--) { ll t,a,b; cin>>t>>a>>b; if (t==1) { p[a]=b; continue ; } col++; cout << dfs(a,b)<<"\n"; } // use scanf not cin 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...