Решение задачи Точки на плоскости с Acmp

Без пояснения   Просмотров: 9



Код


    #include<iostream>

#include<cmath>

using namespace std;

struct point { double x;double y;};

double d(point p1,point p2){

    return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));

}

main(){

    point a[1000];int n,i,j,p=0,q=1,r=0,s=1;double c,mn,mx;

    cin>>n;

    for(i=0;i<n;++i)cin>>a[i].x>>a[i].y;

        mn=d(a[0],a[1]);

        mx=mn;

        for(i=0;i<n-1;++i)

        for(j=i+1;j<n;++j){c=d(a[i],a[j]);

        if(c<mn){mn=c;p=i;q=j;}

     else if(c>mx){mx=c;r=i;s=j;}

        }

        cout<<p+1<<' '<<q+1<<endl<<r+1<<' '<<s+1;

}   
        

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться