This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//#pragma GCC optimize ("O3")
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl '\n'
int n,m,q;
const int DIM = 1007;
struct node{
int u,v,w;
} edges[DIM];
int P[DIM];
inline int F(int x){
return x==P[x]?x:P[x] = F(P[x]);
}
void solve(){
for(int i = 1;i<=m;++i){
cin>>edges[i].u>>edges[i].v>>edges[i].w;
}
cin>>q;
for(int i = 1;i<=q;++i){
int type;
cin>>type;
if (type==1){
int pos,w;
cin>>pos>>w;
edges[pos].w = w;
continue;
}
int st,w;
cin>>st>>w;
for(int j = 1;j<=n;++j)
P[j] = j;
for(int j = 1;j<=m;++j){
if (edges[j].w>=w)
P[F(edges[j].u)] = F(edges[j].v);
}
int res = 0;
for(int j = 1;j<=n;++j)
res+=(F(j)==F(st));
cout<<res<<endl;
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m;
if (n<=1000 && m<=1000)
solve();
return 0;
}
# | 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... |