标签:
3.1 0.1 5.0 4.0 2.0 2.0
题目大意:给你几个队员的坐标点,已知坐标向量与x正向的夹角越小队员能力
越大,能力从大到小输出队员的坐标点。
思路:刚开始想用正弦,但是,x = 0的时候会错。所以要用余弦比较。但是不
知到为什么C++提交就对,G++提交就错。
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
struct Node
{
double a;
double b;
double z;
};
bool cmp(Node x,Node y)
{
return x.z > y.z;
}
Node A[110];
int main()
{
int N;
while(cin >> N)
{
if(N < 0)
break;
memset(A,0,sizeof(A));
for(int i = 0; i < N; i++)
{
cin >> A[i].a >> A[i].b;
A[i].z = A[i].a/sqrt(A[i].a*A[i].a + A[i].b*A[i].b);
}
sort(A,A+N,cmp);
for(int i = 0; i < N; i++)
{
printf("%.1lf %.1lf",A[i].a,A[i].b);
if(i!=N-1)
cout << " ";
}
cout << endl;
}
return 0;
}
HDU1785 You Are All Excellent【余弦】【水题】
标签:
原文地址:http://blog.csdn.net/lianai911/article/details/42119083