zoukankan      html  css  js  c++  java
  • poj 2606

    题目链接:http://poj.org/problem?id=2606

    暴力搜索解决了,但是很慢469ms

    但要注意斜率不存在的直线

    我是把斜率为零,斜率不存在,和其他情况  三种情况讨论的

    放代码

    #include <stdio.h>
    #include
    <stdlib.h>
    struct zx {
    int x;
    int y;
    double k;
    };
    struct zx a[20200];
    int pd(struct zx s,int x,int y)
    {
    double t;
    if(s.k==2000)
    {
    if(s.x==x)
    return 1;
    else
    return 0;
    }
    else if(s.k==0)
    {
    if(s.y==y)
    return 1;
    else
    return 0;
    }
    else
    {
    if(x==s.x||y==s.y)
    return 0;
    else
    {
    t
    =(double)(x-s.x)/(y-s.y);
    if(t==s.k)
    return 1;
    else
    return 0;
    }
    }
    }
    int main(int argc, char** argv) {
    int i,j,n,k,a1[202][2],sum,max=0;
    double t=-1;
    scanf(
    "%d",&n);
    k
    =0;
    for(i=0;i<n;i++)
    {
    scanf(
    "%d %d",&a1[i][0],&a1[i][1]);
    for(j=0;j<i;j++)
    {
    if(a1[i][0]-a1[j][0]==0)
    {
    a[k].x
    =a1[j][0];
    a[k].y
    =2000;
    a[k].k
    =2000;
    }
    else if(a1[i][1]-a1[j][1]==0)
    {
    a[k].x
    =2000;
    a[k].y
    =a1[j][1];
    a[k].k
    =0;
    }
    else
    {
    a[k].x
    =a1[j][0];
    a[k].y
    =a1[j][1];
    a[k].k
    =(double)(a1[i][0]-a1[j][0])/(a1[i][1]-a1[j][1]);
    }
    k
    ++;

    }
    }

    for(i=0;i<k;i++)
    {
    sum
    =0;
    for(j=0;j<n;j++)
    {
    sum
    +=pd(a[i],a1[j][0],a1[j][1]);
    }
    if(sum>max)
    {
    max
    =sum;
    t
    =a[i].k;
    }


    }
    if(t!=0&&t!=2000)
    printf(
    "%d\n",max+1);
    else
    printf(
    "%d\n",max);

    return (EXIT_SUCCESS);
    }

      

  • 相关阅读:
    mvcAPI (入门 2)
    mvcAPI (入门 1)
    IMetadataAware接口的特性定制Model元数据
    MVC 中DropDownList 用法
    MVC 中使用EF
    EF中限制字段显示长度
    EF 存储过程
    sql通用分页自定义表条件存储过程
    fffffffffff
    游标分页
  • 原文地址:https://www.cnblogs.com/fengyuehan/p/poj2606.html
Copyright © 2011-2022 走看看