zoukankan      html  css  js  c++  java
  • H

    G++提交 C++ TLE
    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define MAXN 1010
    using namespace std;
    int fa[MAXN];
    int n,m,tot,sum;
    double x[MAXN],y[MAXN];
    struct nond{
        int x,y;double z;
    }v[MAXN*MAXN];
    int cmp(nond a,nond b){
        return a.z<b.z;
    }
    int find(int x){
        if(fa[x]==x)    return x;
        else return fa[x]=find(fa[x]);
    }
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%lf%lf",&x[i],&y[i]);
        for(int i=1;i<=n;i++)
            for(int j=i+1;j<=n;j++){
                double tmp=(x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]);
                v[++tot].x=i;v[tot].y=j;v[tot].z=tmp;
            }
        scanf("%d",&m);
        for(int i=1;i<=m;i++){
            int x,y;scanf("%d%d",&x,&y);
            v[++tot].x=x;v[tot].y=y;v[tot].z=0;
        }
        for(int i=1;i<=n;i++)    fa[i]=i;
        sort(v+1,v+1+tot,cmp);
        for(int i=1;i<=tot;i++){
            int dx=find(v[i].x);
            int dy=find(v[i].y);
            if(dx==dy)    continue;
            fa[dy]=dx;sum++;
            if(v[i].z!=0)    cout<<v[i].x<<" "<<v[i].y<<endl;
            if(sum==n-1)    break;
        }
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    socket 第一课
    _getitem__ __setitem__ __delitem__ __len__
    单继承&多继承 注意点
    面对对象 类&对象
    异常检测
    模块导入
    序列化模块注意点 json&pickle
    re模块
    filter和map
    Maven入门
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/8462138.html
Copyright © 2011-2022 走看看