Submission #145547

#TimeUsernameProblemLanguageResultExecution timeMemory
145547surface03비용 (KOI11_cost)C++14
0 / 24
10 ms632 KiB
#include<bits/stdc++.h> using namespace std; const int LM=105; struct data{ int a,b,w; bool operator<(const data&r)const{ return w<r.w; } }; int N,ans,group[LM]; vector<data>A; int Find(int n){ if(group[n]==n)return n; return group[n]=Find(group[n]); } int main(){ scanf("%d",&N); int i,j,w; for(i=1;i<=N;i++)group[i]=i; for(i=1;i<=N;i++){ for(j=1;j<=N;j++){ scanf("%d",&w); if(i<j)A.push_back({i,j,w}); } } sort(A.begin(),A.end()); for(auto&obj:A){ int ag=Find(obj.a),bg=Find(obj.b); int w=obj.w; if(ag==bg)continue; ans+=w; group[bg]=ag; } printf("%d",ans); return 0; }

Compilation message (stderr)

cost.cpp: In function 'int main()':
cost.cpp:20:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&N);
     ~~~~~^~~~~~~~~
cost.cpp:25:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d",&w);
             ~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...