| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
水过,如果排序不大会,开四个数组就可以了#include <stdio.h>
#include <algorithm>
using namespace std;
struct point
{
int x;
int y;
point (){}
point (int a,int b){x=a;y=b;}
double slope()
{
return y*1.00/x;
}
void print()
{
printf("(%d,%d)\n",x,y);
}
};
bool cmp(point a,point b)
{
return a.slope()<b.slope();
}
point p1[50];
point p2[50];
point p3[50];
point p4[50];
int main()
{
int a,b;
int size;
scanf("%d%d",&a,&b);
int n1=0,n2=0,n3=0,n4=0;
while(scanf("%d%d",&a,&b)!=EOF)
{
if(a>0&&b>0)p1[n1++]=point(a,b);
if(a<0&&b>0)p2[n2++]=point(a,b);
if(a<0&&b<0)p3[n3++]=point(a,b);
if(a>0&&b<0)p4[n4++]=point(a,b);
}
sort(p1,p1+n1,cmp);
sort(p2,p2+n2,cmp);
sort(p3,p3+n3,cmp);
sort(p4,p4+n4,cmp);
printf("(0,0)\n");
if(n1==0)
{
for(int i=0;i<n2;i++)p2[i].print();
for(int i=0;i<n3;i++)p3[i].print();
for(int i=0;i<n4;i++)p4[i].print();
}else if(n2==0)
{
for(int i=0;i<n3;i++)p3[i].print();
for(int i=0;i<n4;i++)p4[i].print();
for(int i=0;i<n1;i++)p1[i].print();
}else if(n3==0)
{
for(int i=0;i<n4;i++)p4[i].print();
for(int i=0;i<n1;i++)p1[i].print();
for(int i=0;i<n2;i++)p2[i].print();
}else
{
for(int i=0;i<n1;i++)p1[i].print();
for(int i=0;i<n2;i++)p2[i].print();
for(int i=0;i<n3;i++)p3[i].print();
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator