#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#define MAX 10009
using namespace std;
struct node
{
int x,y,capacity;
} arr[MAX];
int par[110];
int khoj_rep(int r)
{
if(par[r]==r)
{
return r;
}
else
{
return par[r]=khoj_rep(par[r]);
}
}
bool cmp(node lhs,node rhs)
{
return lhs.capacity>rhs.capacity;
}
int main()
{
int test,koyta_intersection,koyta_road,i,j,x,u,v,largest;
cin>>test;
for(x=1; x<=test; x++)
{
cin>>koyta_intersection>>koyta_road;
for(i=0; i<koyta_intersection; i++)
{
par[i]=i;
}
for(i=0; i<koyta_road; i++)
{
cin>>arr[i].x>>arr[i].y>>arr[i].capacity;
}
sort(arr,arr+i,cmp);
for(j=0; j<i; j++)
{
u=khoj_rep(arr[j].x);
v=khoj_rep(arr[j].y);
if(u!=v)
{
par[u]=v;
largest=arr[j].capacity;
}
if(koyta_intersection==1)
{
largest=arr[j].capacity;
break;
}
}
printf("Case #%d: %d\n",x,largest);
memset(par,0,sizeof(par));
}
return 0;
}
#include<cstring>
#include<algorithm>
#include<iostream>
#define MAX 10009
using namespace std;
struct node
{
int x,y,capacity;
} arr[MAX];
int par[110];
int khoj_rep(int r)
{
if(par[r]==r)
{
return r;
}
else
{
return par[r]=khoj_rep(par[r]);
}
}
bool cmp(node lhs,node rhs)
{
return lhs.capacity>rhs.capacity;
}
int main()
{
int test,koyta_intersection,koyta_road,i,j,x,u,v,largest;
cin>>test;
for(x=1; x<=test; x++)
{
cin>>koyta_intersection>>koyta_road;
for(i=0; i<koyta_intersection; i++)
{
par[i]=i;
}
for(i=0; i<koyta_road; i++)
{
cin>>arr[i].x>>arr[i].y>>arr[i].capacity;
}
sort(arr,arr+i,cmp);
for(j=0; j<i; j++)
{
u=khoj_rep(arr[j].x);
v=khoj_rep(arr[j].y);
if(u!=v)
{
par[u]=v;
largest=arr[j].capacity;
}
if(koyta_intersection==1)
{
largest=arr[j].capacity;
break;
}
}
printf("Case #%d: %d\n",x,largest);
memset(par,0,sizeof(par));
}
return 0;
}
0 comments: (+add yours?)
Post a Comment