#include<bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
#define mxn 1002
#define pb push_back
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl
using namespace std;
int n,m,q,u[mxn],v[mxn],d[mxn],s,w,b,r,ans,type;
vector<pair<int,int>> adj[mxn];
int ind[mxn][2],len[mxn][2];
bool vis[mxn];
void dfs(int node){
vis[node]=true;
ans++;
for(pair<int,int> i:adj[node]){
if(!vis[i.ff] and w<=i.ss){
dfs(i.ff);
}
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
// freopen("input.txt","r",stdin);
// freopen("output.txt","w",stdout);
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>u[i]>>v[i]>>d[i];
adj[u[i]].pb({v[i],d[i]});
adj[v[i]].pb({u[i],d[i]});
ind[i][0]=u[i];
ind[i][1]=v[i];
len[i][0]=adj[u[i]].size()-1;
len[i][1]=adj[v[i]].size()-1;
}
cin>>q;
while(q--){
cin>>type;
if(type==1){
cin>>b>>r;
adj[ind[b][0]][len[b][0]].ss=r;
adj[ind[b][1]][len[b][1]].ss=r;
}else{
cin>>s>>w;
ans=0;
for(int i=1;i<=n;i++) vis[i]=false;
dfs(s);
cout<<ans<<endl;
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |