(C++)白俊14621私だけじゃダメな恋
質問と回答
https://www.acmicpc.net/problem/14621
最小生成ツリー
コード#コード#
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int N, M;
char node[1005];
bool isvisited[1005];
vector<pair<int,int>> edge[1005];
int a,b,c;
int main(){
ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
cin>>N>>M;
for(int k=1; k<=N; k++) cin>>node[k];
for(int i=0; i<M; i++) {
cin>>a>>b>>c;
edge[a].emplace_back(c,b);
edge[b].emplace_back(c,a);
}
priority_queue<pair<int, int>> pq;
int ans=0;
pq.push({0,1});
while(!pq.empty()){
int now = pq.top().second;
int cost = pq.top().first*(-1);
pq.pop();
if(isvisited[now]) continue;
isvisited[now]=true;
ans+=cost;
for(int i=0; i<edge[now].size(); i++){
int next = edge[now][i].second;
int nextCost = edge[now][i].first;
if(node[next]==node[now]) continue;
pq.push({-nextCost, next});
}
}
for(int i=1; i<=N; i++) if(!isvisited[i]) {cout<<"-1"; return 0 ;}
cout<<ans;
}
Reference
この問題について((C++)白俊14621私だけじゃダメな恋), 我々は、より多くの情報をここで見つけました https://velog.io/@minayeah/C-백준-14621-나만-안되는-연애テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol