Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream f("date.in");
- ofstream g("date.out");
- int n,m,viz[100]={0},ct=0;;
- struct grafm {
- int x,y,cost;
- };
- grafm v[100],aux;
- void citire()
- {
- int i;
- f>>n>>m;
- for(i=1;i<=m;i++)
- f>>v[i].x>>v[i].y>>v[i].cost;
- }
- void sortv()
- {
- int i,j;
- for(i=1;i<=m;i++)
- for(j=1;j<=m;j++)
- if(v[i].cost<v[j].cost)
- {
- aux=v[i];
- v[i]=v[j];
- v[j]=aux;
- }
- }
- void prim()
- {
- int i,k;
- sortv();
- viz[v[1].x]=1; viz[v[1].y]=1;
- g<<"("<<v[1].x<<" "<<v[1].y<<")"<<'\n';
- ct=v[1].cost;
- for(k=1;k<=n-2;k++)
- {
- i=1;
- while(viz[v[i].x]==viz[v[i].y]) i++;
- g<<"("<<v[i].x<<" "<<v[i].y<<")"<<'\n';
- if(viz[v[i].x]!=0) viz[v[i].y]=1;
- else viz[v[i].x]=1;
- ct=ct+v[i].cost;
- }
- g<<'\n'<<ct;
- }
- int main()
- {
- citire();
- prim();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement