Submission #1031741

#TimeUsernameProblemLanguageResultExecution timeMemory
1031741KasymK다리 (APIO19_bridges)C++17
0 / 100
3034 ms23876 KiB
#include "bits/stdc++.h" using namespace std; #define ff first #define ss second #define all(v) v.begin(), v.end() #define ll long long #define pb push_back #define pii pair<int, int> template<class T>bool umin(T& a,T b){if(a>b){a=b;return 1;}return 0;} template<class T>bool umax(T& a,T b){if(a<b){a=b;return 1;}return 0;} const int MOD = 1e9+7; const int N = 1e5+5; multiset<pii> adj[N]; vector<vector<int>> e; int vis[N]; void dfs(int x, int w){ vis[x] = 1; for(auto it = adj[x].begin(); it != adj[x].end(); ++it) if(it->ss <= w and !vis[it->ff]) dfs(it->ff, w); } int main(){ int n, m; scanf("%d%d", &n, &m); for(int i = 1; i <= m; ++i){ int a, b, c; scanf("%d%d%d", &a, &b, &c); adj[a].insert({b, c}); adj[b].insert({a, c}); e.pb({a, b, c}); } int q; scanf("%d", &q); vector<int> v; while(q--){ int op, x, y; scanf("%d%d%d", &op, &x, &y); if(op == 1){ x--; int a = e[x][0], b = e[x][1], c = e[x][2]; adj[a].erase(adj[a].find({b, c})); adj[b].erase(adj[b].find({a, c})); c = e[x][2] = y; adj[a].insert({b, c}); adj[b].insert({a, c}); continue; } dfs(x, y); int ans = 0; for(int i = 1; i <= n; ++i) ans += vis[i], vis[i] = 0; v.pb(ans); } for(int i : v) printf("%d\n", i); return 0; }

Compilation message (stderr)

bridges.cpp: In function 'int main()':
bridges.cpp:27:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   27 |  scanf("%d%d", &n, &m);
      |  ~~~~~^~~~~~~~~~~~~~~~
bridges.cpp:30:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   30 |   scanf("%d%d%d", &a, &b, &c);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~
bridges.cpp:36:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   36 |  scanf("%d", &q);
      |  ~~~~~^~~~~~~~~~
bridges.cpp:40:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 |   scanf("%d%d%d", &op, &x, &y);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#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...