Cod sursa(job #2407636)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 17 aprilie 2019 09:05:22
Problema A+B Scor 0
Compilator cpp-64 Status done
Runda Infoarena's champions Marime 1 kb
#include <bits/stdc++.h>
ifstream f ("retea2.in");
ofstream g ("retea2.out");
using namespace std;
const int nmax=2e3+3;
struct usu
{
    long double x,y;
}t1[nmax],t2[nmax];
struct usu2
{
    long double d;
    usu t;
};
priority_queue <usu2> q;
long double dist(usu t1,usu t2)
{
    return sqrt((t1.x-t2.x)*(t1.-t2.x)+(t1.y-t2.y)*(t1.y-t2.y));
}
int GR(int nod)
{
    if(gr[nod]==nod) return nod;
    gr[nod]=GR(gr[nod]);
    return gr[nod];
}
void solve()
{
    while(!q.empty()&&k<n)
    {
        d=q.top().d;
        usu t=q.top().t;
        q.pop();
        if(gr[x]&&gr[y]) continue;
        gr[GR(y)]=GR(x);
        for(int i=n+1;i<=n+m;++i)
        {
            if(dist(y))
        }
    }
}
int main()
{
    ios::sync_with_stdio(false);
    f>>n>>m;
    for(int i=1;i<=n+m;++i) f>>t[i].x>>t[i].y;
    for(int i=1;i<=n;++i) gr[i]=i;
    for(int i=1;i<=n;++i)
    {
        for(int j=1;j<=m;++j) q.push({dist(t[i],t[n+j]),i,j});
    }
    solve();
    return 0;
}