这是一个模板题,没有坑
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.*;
public class Main{
static Node2007 baseNode;
public static void main(String[] args) throws Exception{
//System.setIn(new FileInputStream("C:\\Users\\XAGDC\\Desktop\\666"));
Scanner sc = new Scanner(new InputStreamReader(System.in));
List<Node2007> list=new ArrayList<Node2007>();
sc.nextLine();
int n=0;
while(sc.hasNext()){
list.add(new Node2007(sc.nextInt(),sc.nextInt()));
n++;
}
baseNode=new Node2007(0,0);
Collections.sort(list, new Comparator<Node2007>() {
@Override
public int compare(Node2007 o1, Node2007 o2) {
return CCW(baseNode,o1,o2) >0 ? -1:1;
}
});
System.out.println("(0,0)");
for (Node2007 node:list) {
System.out.printf("(%d,%d)\n",node.x,node.y);
}
sc.close();
}
public static int CCW(Node2007 A,Node2007 B,Node2007 C){
return A.x*B.y+B.x*C.y+C.x*A.y-(A.y*B.x+B.y*C.x+C.y*A.x) >0?1:-1;
}
}
class Node2007{
int x;
int y;
public Node2007(int x, int y) {
this.x = x;
this.y = y;
}
}

被折叠的 条评论
为什么被折叠?



