제출 #742770

#제출 시각아이디문제언어결과실행 시간메모리
742770speedyArda다리 (APIO19_bridges)C++14
0 / 100
110 ms9164 KiB
#include "bits/stdc++.h" using namespace std; const int MAXN = 1e5+5; vector< vector< pair<int, int> > > adj(MAXN); vector< pair<int, pair<int, int> > > edges; vector<bool> visited(MAXN); int dfs(int v, int weight, int p) { int ans = 1; visited[v] = true; for(pair<int, int> e : adj[v]) { if(visited[e.first] || e.second < weight) continue; ans += dfs(e.first, weight, v); } return ans; } int main() { int n, m; cin >> n >> m; for(int i = 1; i <= m; i++) { int f, s, w; cin >> f >> s >> w; adj[f].push_back({s, w}); adj[s].push_back({f, w}); edges.push_back({w, {f, s}}); } sort(edges.begin(), edges.end()); int q; cin >> q; if(max(m, n) <= 1000 && q <= 10000) // Subtask 1 { for(int i = 1; i <= q; i++) { int f, s, t; cin >> f >> s >> t; if(f == 1) { s--; int from = edges[s].second.first, to = edges[s].second.second; for(int l = 0; l < adj[from].size(); l++) { if(adj[from][l].first == to && adj[from][l].second == edges[s].first) { adj[from][l].second = t; break; } } for(int l = 0; l < adj[to].size(); l++) { if(adj[to][l].first == from && adj[to][l].second == edges[s].first) { adj[to][l].second = t; break; } } edges[s].first = t; } else { for(int i = 0; i <= n; i++) visited[i] = false; int ans = dfs(s, t, -1); cout << ans << "\n"; } } } }

컴파일 시 표준 에러 (stderr) 메시지

bridges.cpp: In function 'int main()':
bridges.cpp:46:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |                 for(int l = 0; l < adj[from].size(); l++)
      |                                ~~^~~~~~~~~~~~~~~~~~
bridges.cpp:53:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |                 for(int l = 0; l < adj[to].size(); l++)
      |                                ~~^~~~~~~~~~~~~~~~
#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...