zoukankan      html  css  js  c++  java
  • 轰炸

    轰炸

    题目描述

    “我该怎么办?”飞行员klux向你求助。
    事实上,klux面对的是一个很简单的问题,但是他实在太菜了。
    klux要想轰炸某个区域内的一些地方,它们是位于平面上的一些点,但是(显然地)klux遇到了抵抗,所以klux只能飞一次,而且由于飞机比较破,一点起飞就只能沿直线飞行,无法转弯。现在他想一次轰炸最多的地方。

    输入

    第一行为n
    接下来的输入数据由n对整数组成(1<=n<=700),每对整数表示一个点的坐标。没有一个点会出现两次。

    输出

    一个整数,表示一条直线能覆盖的最多的点数。

    样例输入

    5
    1 1
    2 2
    3 3
    9 10
    10 11
    

    样例输出

    3
    分析:由于点很少,直接枚举直线即可,对每个点向量法(取gcd)也可;
    代码:
    #include <bits/stdc++.h>
    #define ll long long
    const int maxn=1e5+10;
    using namespace std;
    int n,m,k,t,ans,a[maxn],b[maxn];
    int main()
    {
        int i,j;
        scanf("%d",&n);
        for(i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]);
        for(i=0;i<n;i++)
            for(j=i+1;j<n;j++)
        {
            int c=b[j]-b[i],d=a[i]-a[j],e=b[i]*a[j]-b[j]*a[i],now=0;
            for(k=0;k<n;k++)
            {
                if(c*a[k]+d*b[k]+e==0)++now;
            }
            ans=max(ans,now);
        }
        printf("%d
    ",ans);
        //system("pause");
        return 0;
    }
  • 相关阅读:
    c#之字段,属性,索引器,常量
    c#类,对象,类成员简介
    c#之接口,依赖反转,单元测试
    c#之 抽象类与开闭原则
    c#重写与多态
    c#之类
    c#之类的继承,类成员的访问控制
    c#之委托
    c# try catch用法思路
    js的全局变量
  • 原文地址:https://www.cnblogs.com/dyzll/p/5769174.html
Copyright © 2011-2022 走看看