Submission #22764

#TimeUsernameProblemLanguageResultExecution timeMemory
22764dried chocochip on Daegu asphalt (#40)Logistical Metropolis (KRIII5_LM)C++98
2 / 7
103 ms4852 KiB
// // Created by Acka on 2017. 4. 30.. // #include <stdio.h> #include <vector> #include <algorithm> using namespace std; struct Edge{ int u, v, c; Edge(){} Edge(int u, int v, int c):u(u), v(v), c(c){} bool operator <(const Edge &A)const{ return c < A.c; } }; int par[1001]; Edge edge[300000]; vector<Edge> adj[1001]; int find(int x){ return x == par[x] ? x : par[x] = find(par[x]); } void link(int x, int y){ par[find(y)] = find(x); } int main() { int N, M; scanf("%d %d", &N, &M); for(int i = 0, x, y, c; i < M; i++){ scanf("%d %d %d", &x, &y, &c); edge[i] = Edge(x, y, c); adj[x].push_back(Edge(0, y, c)); adj[y].push_back(Edge(0, x, c)); } sort(edge, edge + M); for(int o = 1; o <= N; o++){ for(int i = 1; i <= N; i++) par[i] = i; int sum = 0; for(int i = 0; i < adj[o].size(); i++){ link(o, adj[o][i].v); sum += adj[o][i].c; } for(int i = 0; i < M; i++){ int pu = find(edge[i].u), pv = find(edge[i].v); if(pu == pv) continue; link(pu, pv); sum += edge[i].c; } printf("%d\n", sum); } return 0; }

Compilation message (stderr)

LM.cpp: In function 'int main()':
LM.cpp:48:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < adj[o].size(); i++){
                          ^
LM.cpp:33:37: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     int N, M; scanf("%d %d", &N, &M);
                                     ^
LM.cpp:35:38: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d %d %d", &x, &y, &c);
                                      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...