Pagini recente » Cod sursa (job #2752987) | Cod sursa (job #2797345) | Cod sursa (job #1651130) | Cod sursa (job #2286584) | Cod sursa (job #887025)
Cod sursa(job #887025)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("lazy.in");
ofstream g("lazy.out");
int i,n,x,y,nr,m,sol[200100],t[200100];
struct nod{long long a,b,c,d,p;};
nod v[200100];
bool cmp(nod a,nod b)
{
if(a.c==b.c)
return a.d>b.d;
return a.c<b.c;
}
int tata(int nod)
{
if(t[nod]==nod)
{
return nod;
}
t[nod]=tata(t[nod]);
return t[nod];
}
int main()
{
f>>n>>m;
for(i=1;i<=m;++i)
{
f>>v[i].a>>v[i].b>>v[i].c>>v[i].d;
v[i].p=i;
}
sort(v+1,v+m+1,cmp);
for(i=1;i<=n;++i)
t[i]=i;
for(i=1;i<=m;++i)
{
x=tata(v[i].a);
y=tata(v[i].b);
if(x!=y)
{
t[y]=x;
++nr;
sol[nr]=v[i].p;
}
}
sort(sol+1,sol+n);
for(i=1;i<n;++i)
g<<sol[i]<<'\n';
}