51nod1100斜率最大

51nod1100斜率最大

按照x坐标从小到大排序
斜率最大的肯定是相邻的两个坐标

#include
#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;
struct node
{
    int x,y,no;
};
node a[10010];
bool cmp(node ta,node tb)
{
    return ta.xint main()
{
    int n;
    cin>>n;
    for(int i = 0; i < n; ++i) {
        cin>>a[i].x>>a[i].y;
        a[i].no=i+1;
    }
    sort(a,a+n,cmp);
    double ans=-1;
    for(int i = 1; i < n; ++i) {
        ans=max(ans,double(a[i].y-a[i-1].y)/(a[i].x-a[i-1].x));
    }
    for(int i = 1; i < n; ++i) {
        if(double(a[i].y-a[i-1].y)/(a[i].x-a[i-1].x)==ans)
         cout<1].no<<" "<return 0;
}

你可能感兴趣的:(题解)