Submission #1045033

#TimeUsernameProblemLanguageResultExecution timeMemory
1045033vjudge1Bridges (APIO19_bridges)C++17
13 / 100
27 ms636 KiB
// #pragma GCC optimize("O3,Ofast,unroll-loops") // #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #include <bits/stdc++.h> using namespace std; #define lli long long int #define MP make_pair #define pb push_back #define REP(i,n) for(int i = 0; (i) < (n); (i)++) #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() void fastio() { ios_base::sync_with_stdio(false); cin.tie(NULL); } const double EPS = 0.00001; const int INF = 1e9+500; const int N = 1e3+5; const int ALPH = 26; const int LGN = 25; constexpr int MOD = 1e9+7; int n,m,q; vector<vector<array<int, 2> > > adj(N); vector<int> vis; vector<int> wr(N); int ret = 0; void dfs(int x, int w) { vis[x] = 1; ret++; for(auto c : adj[x]) { if(vis[c[0]] || w > wr[c[1]]) continue; dfs(c[0], w); } } int cnt(int x, int w) { vis.assign(n + 2, 0); ret = 0; dfs(x, w); return ret; } inline void solve() { cin>>n>>m; REP(i, m) { int a, b, d; cin >> a >> b >> d; adj[a].pb({b, i}); adj[b].pb({a, i}); wr[i] = d; } cin >> q; REP(z, q) { int t; cin >> t; if(t == 2) { int x, w; cin >> x >> w; cout << cnt(x, w) << "\n"; } else { int x, w; cin >> x >> w; wr[x - 1] = w; } } } signed main() { fastio(); int test = 1; //cin>>test; while(test--) { solve(); } }
#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...