• 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--E-回旋星空


    链接:https://www.nowcoder.com/acm/contest/90/E
    来源:牛客网

    • 1.题目描述
      曾经有两个来自吉尔尼斯的人(A和C)恋爱了,他们晚上经常在一起看头上的那片名为假的回旋星空,有一天他们分手了,A想通过回旋星空测量他们之间的复合指数,测量的规则是,计算回旋图标的个数,即选中三颗星星,分别作为回旋图标的起点,拐点和终点,假设现在有三个星星分别为i,j,k,如果d(a[i],a[j]) == d(a[j],a[k])则表示找到了一个回旋图标,其中d(x,y)表示这两个点的欧氏距离
      为了给它很大的希望(i,j,k)和(k,j,i)被认为是两个不同的回旋图标。A花了一晚上终于把整片星空映射到了一张二平面图上,由于星星太多以至于A有点懵逼,所以你能帮帮他吗,要不然他可能真的WA的一声哭了出来。
      作为埃森哲公司的一员,你在解决问题的同时也向A介绍了埃森哲公司的业务范围。
      为了全方位地满足客户的需求,正在不断拓展自身的业务服务网络,包括管理及信息技术咨询、企业经营外包、企业联盟和风险投资。除了以产品制造业、通信和高科技、金融服务、资源、政府机构等不同行业划分服务内容之外,还从以下几方面提供咨询服务:
      1.客户关系管理
      2.业务解决方案
      3.电子商务
      4.供应链管理
      输入描述:
      第一行一个整数T(T<=10),表示组数
      对于每组数据有一个n,表示有n个小星星(0< n < 1000)
      接下来跟着n行,每行跟两个整数xi和yi表示每个星星的坐标(-10000< xi, yi<10000)
      输出描述:
      对于每组数据,如果没有找到回旋图标输出”WA”,否则输出找到图标个数
      示例1
      输入
      2
      2
      1 0
      0 1
      3
      1 0
      0 1
      0 0
      输出
      WA
      2
      备注:
      没有重复的星星,且选中的三个星星是互相不一样的(即下标不同)
      欧氏距离即直线距离
    • 2.题目分析
      在所有点中找到有几个满足题意的等腰三角形
    • 3.代码如下
    #include<cstdio> 
    #include<cstring> 
    #include<algorithm> 
    #include<iostream> 
    #include<string> 
    #include<vector> 
    #include<stack> 
    #include<bitset>
    #include<cstdio> 
    #include<cstdlib> 
    #include<cmath> 
    #include<set> 
    #include<list> 
    #include<deque> 
    #include<map> 
    #include<queue>
    #include<algorithm> 
    using namespace std; 
    typedef long long ll; 
    const double PI = acos(-1.0); 
    const double eps = 1e-6; 
    const int INF = 1000000000; 
    const int maxn = 100; 
    char str1[2000],s2[2000];
    int dp[100005];
    int T,n,count;
    bool com(int a,int b)
    {
        return a<b;
    }
    bool ans(int n)
    {
        if(dp[1]==dp[n])       
            return true;
        else
            return false;  
    }
    using namespace std;
    typedef long long ll;
    long long a[1005],b[1005];
    struct pot{
        int aa;
        int bb;
        long long cc;
    }POT[500005];
    int num[1005];
    bool cmp(struct pot aaa,struct pot bbb)
    {
        if(aaa.cc!=bbb.cc)
        return aaa.cc>bbb.cc;
        else if(aaa.bb!=bbb.bb)
        return aaa.aa<bbb.aa;
        return aaa.bb<bbb.bb;
    }   
    int main()
    {
    
        int t;
        scanf("%d",&t);
        while(t--)
        {
            int n;scanf("%d",&n);
            for(int i= 1;i<=n;i++)
            {
                scanf("%lld",&a[i]);
                scanf("%lld",&b[i]);
                }
                int sum=0;int COUNT=0;
            for(int i =1;i<=n;i++)
            {
                for(int j=i+1;j<=n;j++)
                {
                    POT[COUNT].aa=i;
                    POT[COUNT].bb=j;
                    POT[COUNT].cc=(a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]);
                    COUNT++;
                    {
    
    
                        }
    
                    }
                }
                sort(POT,POT+COUNT,cmp);
    
                int tt=0;
                for(int i = 0; i< COUNT;i++)
                {
    
                    if(POT[i].cc==POT[i-1].cc)
                    {
                        if(num[POT[i].aa]==POT[i].cc||(num[POT[i].bb]==POT[i].cc))
                        {
                            tt++;
    
                            }
                        else
                        {
                            num[POT[i].aa]=POT[i].cc;
                            num[POT[i].bb]=POT[i].cc;
                            }
                        }
                            num[POT[i].aa]=POT[i].cc;
                            num[POT[i].bb]=POT[i].cc;
                    }
                    if(tt)
                    cout <<2*tt<<endl;
                    else
                    cout <<"WA"<<endl;
    
            }   
        return 0;
    }
  • 相关阅读:
    当我说要做大数据工程师时他们都笑我,直到三个月后……转
    体系化认识RPC--转
    jsoup HTML parser hello world examples--转
    数组指针和指针数组的区别
    什么是计算机科学
    HTML图片热区map area的用法
    九宫八卦--易学基础
    初探Net框架下的XML编程技术
    百度网盘学习资料
    遍历json 对象的属性并且动态添加属性
  • 原文地址:https://www.cnblogs.com/FlyerBird/p/8995974.html
Copyright © 2020-2023  润新知