比赛 |
20120717 |
评测结果 |
AAAATTTTTT |
题目名称 |
信使问题b |
最终得分 |
40 |
用户昵称 |
hello! |
运行时间 |
3.483 s |
代码语言 |
C++ |
内存使用 |
5.85 MiB |
提交时间 |
2012-07-17 09:39:16 |
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<iomanip>//setiosflags(ios::fixed)<<setprecision()<<
#include<cstdlib>
#include<cmath>
using namespace std;
int n;
struct way{
int x;
int y;
}ku[100001];
int cmp(const void *a,const void *b)
{
struct way *c=(struct way *)a;
struct way *d=(struct way *)b;
if(c->y != d->y) return c->y - d->y;
else return c->x - d->x;
}
int main()
{
freopen("postmanb.in","r",stdin);
freopen("postmanb.out","w",stdout);
cin>>n;
int numx[100001]={0},numy[100001]={0};
for(int i=1;i<=n;i++)
{
cin>>ku[i].x>>ku[i].y;
numx[ku[i].x]++;
numy[ku[i].y]++;
}
qsort(ku+1,n,sizeof(ku[0]),cmp);
double max=0,min=99999999;
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
double temp;
int ccx,ccy;
ccx=ku[i].x-ku[j].x;
ccy=ku[i].y-ku[j].y;
ccx=ccx*ccx;
ccy=ccy*ccy;
temp=sqrt(double(ccx+ccy));
if(temp>max)
{
max=temp;
}
if(temp<min)
{
min=temp;
}
}
}
cout<<setiosflags(ios::fixed)<<setprecision(4)<<max<<endl;
cout<<setiosflags(ios::fixed)<<setprecision(4)<<min<<endl;
return 0;
}