UVA270-Lining Up

斜率斜率斜率.........

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<map>
#include<cstring>
#include<cstdlib>
#include<vector>
using namespace std;
struct node
{
        int x,y;
        node(){}
        node(int a,int b){x=a;y=b;}
};
int main()
{
       // freopen("in","r",stdin);
        vector<node>box;
        map<double,int>dir;
        string s;
        int T,i,j,k,n,x,y,ans,t;
        cin>>T;
        getchar();
        getchar();
        for(i=0;i<T;i++)
        {
                box.clear();
                if(i)
                        cout<<endl;
                while(1)
                {
                        getline(cin,s);
                        if(s=="\0")
                                break;
                        sscanf(s.c_str(),"%d%d",&x,&y);
                        box.push_back(node(x,y));
                }
                ans=0;
                n=box.size();
                for(j=0;j<n;j++)
                {
                        dir.clear();
                        for(k=j+1;k<n;k++)
                        {
                                t=++dir[double(box[j].y-box[k].y)/double(box[j].x-box[k].x)];
                                ans=max(ans,t);
                        }
                }
                cout<<ans+1<<endl;
        }
        return 0;
}

Lining Up

Time Limit:3000MS   Memory Limit:Unknown   64bit IO Format:%lld & %llu

SubmitStatus

Description

 Lining Up 

``How am I ever going to solve this problem?

" said the pilot.

Indeed, the pilot was not facing an easy task. She had to drop packages at specific points scattered in a dangerous area. Furthermore, the pilot could only fly over the area once in a straight line, and she had to fly over as many points as possible. All
points were given by means of integer coordinates in a two-dimensional space. The pilot wanted to know the largest number of points from the given set that all lie on one line. Can you write a program that calculates this number?

Your program has to be efficient!

id=21356">Input

The input begins with a single positive integer on a line by itself indicating the number of the cases following, each of them as described below. This line is followed by a blank line, and there is also a blank line between two consecutive inputs.

The input consists of N pairs of integers, where 1 < N < 700. Each pair of integers is separated by one blank and ended by a new-line character. The list of pairs is ended with an end-of-file character. No pair will occur twice.

Output

For each test case, the output must follow the description below. The outputs of two consecutive cases will be separated by a blank line.

The output consists of one integer representing the largest number of points that all lie on one line.

Sample Input

1

1 1
2 2
3 3
9 10
10 11

id=21356">Sample Output

3

Source

Root :: Competitive Programming: Increasing the Lower Bound of Programming Contests (Steven & Felix Halim) :: Chapter 7. (Computational) Geometry :: Geometry Basics ::
Lines

Root :: AOAPC I: Beginning Algorithm Contests (Rujia Liu) :: option=com_onlinejudge&Itemid=8&category=113">
Volume 4. Algorithm Design

Root :: Competitive Programming 3: The New Lower Bound of Programming Contests (Steven & Felix Halim) :: More Advanced Topics :: Problem Decomposition ::
Two Components - Complete Search and Geometry

Root :: Competitive Programming 2: This increases the lower bound of Programming Contests. Again (Steven & Felix Halim) :: (Computational) Geometry :: Basic Geometry ::
Points and Lines

时间: 2024-10-11 00:58:55

UVA270-Lining Up的相关文章

UVALive5379 UVA270 Lining Up

Regionals 1994 >> North America - East Central NA 问题链接:UVALive5379 UVA270 Lining Up. 题意简述:输入n,输入n个整数对,即n个坐标点,问最多共线点数是多少. 问题分析:用暴力法解决这个问题,好在计算规模不算大. 程序中,判断共线时,使用的是乘法,没有用除法,可以保证精确的计算结果. 特别需要说明的是,这个问题虽然与POJ1118 HDU1432 Lining Up是相同的问题,但是数据输入格式不一样,需要特别处

uva270 - Lining Up(暴力)

题目:uva270 - Lining Up 解题思路:对于每个点都计算一下,它与其他点的斜率,这样就可以判断与这个点在同一条直线的点.每个点都这样做,维护最大值就可以了. 注意斜率不存在的情况. 找相同斜率的时候用了multiset. 代码: #include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <set> using namespace

Hdoj 1432 Lining Up 【叉积】

Lining Up Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1094    Accepted Submission(s): 307 Problem Description ``How am I ever going to solve this problem?" said the pilot. Indeed, the pilot

POJ1118 HDU1432 Lining Up

问题链接:POJ1118 HDU1432 Lining Up. 题意简述:输入n,输入n个整数对,即n个坐标点,问最多共线点数是多少. 问题分析:用暴力法解决这个问题,好在计算规模不算大. 程序中,判断共线时,使用的是乘法,没有用除法,可以保证精确的计算结果. AC的C语言程序如下: /* POJ1118 HDU1432 Lining Up */ #include <stdio.h> #define MAXN 700 struct { int x, y; } p[MAXN]; /* point

Lining Up(在一条直线上的最大点数目,暴力)

Lining Up Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1274    Accepted Submission(s): 366 Problem Description ``How am I ever going to solve this problem?" said the pilot.  Indeed, the pilo

uva 270 Lining Up (几何)

uva 270 Lining Up ``How am I ever going to solve this problem?" said the pilot. Indeed, the pilot was not facing an easy task. She had to drop packages at specific points scattered in a dangerous area. Furthermore, the pilot could only fly over the a

POJ 1018 &amp; HDU 1432 Lining Up 【简单几何】

Lining Up Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 24786   Accepted: 7767 Description "How am I ever going to solve this problem?" said the pilot. Indeed, the pilot was not facing an easy task. She had to drop packages at spe

Lining.js - 为CSS提供 ::nth-Line 选择器功能

在CSS中,我们使用 ::first-line 选择器来给元素第一行内容应用样式.但目前还没有像 ::nth-line.::nth-last-line 甚至 ::last-line 这样的选择器.实际上这期选择器在某些情况下是非常有用的,Lining.js 提供了这样的功能. 在线演示      插件下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发

UVA Lining Up (一条直线上最多的点数)

Description  Lining Up  ``How am I ever going to solve this problem?" said the pilot. Indeed, the pilot was not facing an easy task. She had to drop packages at specific points scattered in a dangerous area. Furthermore, the pilot could only fly over

Lining Up

问题 H: Lining Up 时间限制: 1 Sec  内存限制: 128 MB提交: 45  解决: 30[提交][状态][讨论版][命题人:admin] 题目描述 There are N people, conveniently numbered 1 through N. They were standing in a row yesterday, but now they are unsure of the order in which they were standing. Howev