zoukankan      html  css  js  c++  java
  • 2015安徽省赛 C.LU的困惑

    题目描述

    Master LU 非常喜欢数学,现在有个问题:在二维空间上一共有n个点,LU每连接两个点,就会确定一条直线,对应有一个斜率。现在LU把平面内所有点中任意两点连线,得到的斜率放入一个集合中(若斜率不存在则不计入集合),他想知道这个集合中有多少个元素。

    输入

    第一行是一个整数T,代表T组测试数据 每组数据第一行是一个整数n,代表点的数量。2<n<1000 接下来n行,每行两个整数,0<x<10000,0<y<10000,代表点的坐标

    输出

    输出斜率集合中有多少个元素

    样例输入

    2 4 1 1 2 2 3 3 3 6 4 1 1 2 2 2 0 3 1

    样例输出

    3 3

    用set容器
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<set>
    
    using namespace std;
    long long d[10005],c[10005];
    double add(int ax,int bx,int ay,int by)
    {
        double tx,ty;
        tx=double(bx-ax);
        ty=double(by-ay);
        if(tx==0){return 23333;}
        return ty/tx;
    }
     
    int main()
    {  
         
        set<double> seting;
        int T,m,i,j;
     
        double num;
        scanf("%d",&T);
        while(T>=1)
        {
            scanf("%d",&m);
            for(i=1;i<=m;i++)
            {
                scanf("%lld %lld",&d[i],&c[i]);
            }
            for(i=1;i<=m;i++)
            {
                for(j=i+1;j<=m;j++)
                {
                    num=add(d[i],d[j],c[i],c[j]);
                    if(num!=23333)
                    {
                        set<double>::iterator it;
                        it=seting.find(num);
                        if(it==seting.end())
                        {
                            seting.insert(num);
                        }
                    }
                }
            }
            printf("%d
    ",seting.size());
            seting.clear();
            T--;
        }
        return 0;
    }
    /**************************************************************
        Problem: 1207
        User: 2014217052
        Language: C++
        Result: 正确
        Time:254 ms
        Memory:4572 kb
    ****************************************************************/
  • 相关阅读:
    python 类和实例
    python 装饰器
    *args和**kwargs:
    定义函数
    python 调用函数
    python lambda表达式
    java-commons-HttpClient超时设置setConnectionTimeout和setSoTimeout
    python 获取响应头
    Freesshd Permission denied (publickey).
    update 嵌套优化
  • 原文地址:https://www.cnblogs.com/dzzy/p/4692634.html
Copyright © 2011-2022 走看看