UESTC 802 E - Just a Line

原创 2016年06月01日 22:38:09

Description
There are N points on a plane, among them N1 points will form a line, your task is to find the point that is not on the line.

Input
The first line contains a single number N, the number of points. (4N50000)

Then come N lines each with two numbers (xi,yi), giving the position of the points. The points are given in integers. No two points’ positions are the same. (109xi,yi109)

Output
Output the position of the point that is not on the line.

Sample Input
5
0 0
1 1
3 4
2 2
4 4

Sample Output
3 4

题意:找出那个不在直线上的点。先算出斜率,再遍历一次。
(排序那一段没用的gg)

代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
typedef struct 
{
    int x;int y;
}Node;
int Sort(const void * a,const void * b)
{
    Node *p1=(Node *)a;
    Node *p2=(Node *)b;
    return p1->x>p2->x;
}
int main (void)
{
    Node point[100000];
    int t ;
    cin>>t;
    for(int i=0;i<t;i++)
    {
        scanf("%d %d",&point[i].x,&point[i].y);
    //  printf("%d %d\n",point[i].x,point[i].y);
    }

    qsort(point,t,sizeof(Node),Sort);
//  printf("after\n");
//  for(int i=0;i<t;i++)
//  {
//      printf("%d %d\n",point[i].x,point[i].y);
//  }

//  printf("-------------\n");
    int ans1,ans2;
    int tmp1,tmp2;
    for(int k=0;k<=3;k++)
    {
        for(int j=0;j<k;j++)
        {
            for(int i=0;i<j;i++)
            {
                if((point[j].y-point[i].y)*(point[k].x-point[i].x)==(point[k].y-point[i].y)*(point[j].x-point[i].x))
                {
                    ans1=point[k].x-point[i].x;
                    ans2=point[k].y-point[i].y;
                    tmp1=point[i].x;
                    tmp2=point[i].y;
                    break;
                }   
            }
        }
    }

    for(int i=0;i<t;i++)
    {
        if((point[i].y-tmp2)*ans1!=ans2*(point[i].x-tmp1))

        {
            printf("%d %d\n",point[i].x,point[i].y);
            break;
        }
    }

    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

redis安装+redis集群配置+phpredis扩展安装

安装前的准备:redis-3.0tar.gz    官网下载地址    http://redis.io/download/以下软件或直接yum安装也可(安装步骤略)tcl8.6.1-src.tar.g...
  • zqtsx
  • zqtsx
  • 2014年11月07日 17:31
  • 4208

POJ 3801 Crazy Circuits 有源汇的上下界最小流

点击打开链接 Crazy Circuits Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 512   A...
  • Dinivity123
  • Dinivity123
  • 2014年01月20日 14:59
  • 1060

Ningbo [1217] Dinner(简单题,但是注意输出,pe3遍)

1、http://cdn.ac.nbutoj.com/Problem/view.xhtml?id=1217 注意输出,中间有空格,最后没有,处理空格错了3遍 2、题目: [121...
  • sdjzping
  • sdjzping
  • 2014年02月15日 10:20
  • 1050

UESTC 802—— Just a Line

题意:给出n个点,其中有n-1个点在同一个直线上,请你找出那个不在同一条直线上的点 解题思路:已知最多有50000个点,可用枚举的方法进行。首先将n个点保存下来,然后从第一个点开始,依次比较它与前四个...
  • u014086857
  • u014086857
  • 2015年03月25日 20:37
  • 286

西门子802SC base line 简明安装调试手册.PDF

  • 2016年11月19日 10:33
  • 9.11MB
  • 下载

E - Just a Hook HDU 1698 (线段树+类似延迟标记)

E - Just a Hook Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status...
  • u013167299
  • u013167299
  • 2015年04月04日 18:20
  • 364

kuangbin——线段树专题 E - Just a Hook

E - Just a Hook Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Sub...
  • chudongfang2015
  • chudongfang2015
  • 2016年08月04日 19:09
  • 333

UESTC 数据结构专题训练 D,E,F

D,http://acm.uestc.edu.cn/#/problem/show/1584 题意:平面上n个点,询问每个点左下方的点有多少个? 解法:排序(以Y坐标为第一关键字,X坐标为第二关键...
  • just_sort
  • just_sort
  • 2017年06月08日 15:29
  • 363

UESTC 2016 Summer Training #1 Div.2 E - Accepted Passwords 讨论

看清楚题目就好了 or if the user’s password length is at least 8 characters and the user made a mistake with...
  • ProLightsfxjh
  • ProLightsfxjh
  • 2016年07月12日 21:00
  • 1120

2016 UESTC Training for Math Problem E- 蹲在墙角画圈圈的愚人王

E - 蹲在墙角画圈圈的愚人王 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/O...
  • dgghjnjk
  • dgghjnjk
  • 2016年06月08日 19:50
  • 250
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UESTC 802 E - Just a Line
举报原因:
原因补充:

(最多只允许输入30个字)