zoukankan      html  css  js  c++  java
  • E. Summer Earnings

    就是碰见三个圆或者四个圆的时候就想一下怎么用其他的东西等价一下啊。。。

    #include<stdio.h>
    #include<algorithm>
    #include<string.h>
    #include<bitset>
    #include<math.h>
    using namespace std;
    struct node1
    {
        int x,y,id;
    }s[4000];
    struct node
    {
        int a,b,w;
    }G[10000000];
    bitset<4000>vis[4000];
    int dis(int a,int b)
    {
        int res=0;
        res+=(s[a].x-s[b].x)*(s[a].x-s[b].x);
        res+=(s[a].y-s[b].y)*(s[a].y-s[b].y);
        return res;
    }
    bool cmp(node x,node y)
    {
        return x.w>y.w;
    }
    
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d%d",&s[i].x,&s[i].y);
            s[i].id=i;
        }
        int cnt=0;
        for(int i=1;i<=n;i++)
        {
            for(int j=i+1;j<=n;j++)
            {
                G[++cnt].w=dis(i,j);
                G[cnt].a=s[i].id;
                G[cnt].b=s[j].id;
            }
        }
        int ans=0;
        sort(G+1,G+1+cnt,cmp);
        for(int i=1;i<=cnt;i++)
        {
            int a=G[i].a,b=G[i].b;
            bitset<4000> temp;
            temp=vis[a]&vis[b];
            if(temp.any())
            {
                ans=G[i].w;
                break;
            }
            vis[a].set(b);
            vis[b].set(a);
        }
        printf("%lf
    ",sqrt(ans)/2);
    }
    

      

  • 相关阅读:
    hash介绍
    序列化
    面向对象编程
    计算机系统基础知识05
    19、Python之队列
    18、Python之多线程
    17、Python之paramikomo
    16、Python之socket网络编程
    15、Python之异常处理
    14、Python之反射
  • 原文地址:https://www.cnblogs.com/Heilce/p/7336924.html
Copyright © 2011-2022 走看看