This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
#define pii pair<int, int>
#define F first
#define S second
#define FOR(i, n) for (int i = 0; i < n; i++)
#define PB push_back
#define ALL(x) x.begin(), x.end()
#define NYOOM ios::sync_with_stdio(0); cin.tie(0);
// solving ST 4: offline query
const int maxn = 1e5 + 10;
int n, m, u[maxn], v[maxn], d[maxn], q;
vector<int> adj[maxn]; // idx
set<int> seen;
void dfs(int s, int w){
seen.insert(s);
for (auto idx : adj[s]){
int t = (s == u[idx] ? v[idx] : u[idx]);
if (seen.count(t) || d[idx] < w) continue;
dfs(t, w);
}
}
signed main(){
NYOOM;
cin >> n >> m;
for (int i = 1; i <= m; i++){
cin >> u[i] >> v[i] >> d[i];
adj[u[i]].PB(i); adj[v[i]].PB(i);
}
cin >> q;
FOR(i, q){
int t; cin >> t;
if (t == 1){
int b, r; cin >> b >> r;
d[b] = r;
}
if (t == 2){
int s, w; cin >> s >> w;
seen.clear(); dfs(s, w);
cout << seen.size() << 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... |