Pagini recente » Cod sursa (job #1726265) | Cod sursa (job #1714110) | Cod sursa (job #1997941) | Cod sursa (job #793076) | Cod sursa (job #544030)
Cod sursa(job #544030)
#include <stdio.h>
#include <algorithm>
using namespace std;
#define nmax 100
struct element{long long a, b, c1, c2, poz;};
long long i, n, m, p1, p2, p[nmax];
element v[nmax];
bool cmp(element a, element b)
{
return ((a.c1<b.c1) || ((a.c1==b.c1)&&(a.c2>b.c2)));
}
long int par(long int a)
{
if (p[a]==a)
return a;
else
return par(p[a]);
}
int main()
{
freopen("lazy.in","r",stdin);
freopen("lazy.out","w",stdout);
scanf("%ld %ld",&n,&m);
for (i=1;i<=m;i++)
{
scanf("%ld %ld %ld %ld", &v[i].a,&v[i].b,&v[i].c1,&v[i].c2);
v[i].poz=i;
p[v[i].a]=v[i].a; p[v[i].b]=v[i].b;
}
sort(v+1,v+1+m,cmp);
for (i=1;i<=m;i++)
{
p1=par(v[i].a); p2=par(v[i].b);
if (p1!=p2)
{
p[p2]=p1;
printf("%ld\n",v[i].poz);
}
}
return 0;
}