11651๋ฒ: ์ขํ ์ ๋ ฌํ๊ธฐ 2
์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 โค N โค 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 โค xi, yi โค 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค.
www.acmicpc.net
๋ฌธ์
2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, y์ขํ๊ฐ ๊ฐ์ผ๋ฉด x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 โค N โค 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 โค xi, yi โค 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ
5
0 4
1 2
1 -1
2 2
3 3
์์ ์ถ๋ ฅ
1 -1
1 2
2 2
3 3
0 4
ํ์ด
๋ฐ๋ก ์ ๋ฌธ์ ์ ๊ฐ์ ๋ฌธ์ . y๋ก ๋จผ์ ์ ๋ ฌํ๊ณ y๊ฐ ๊ฐ์ผ๋ฉด x๋ก ์ ๋ ฌํ๋ ๋ฌธ์ ์ด๋ค.
import java.io.*;
import java.util.*;
public class B11651 {
โpublic static void main(String[] args) throws IOException {
โโBufferedReader br = new BufferedReader(new InputStreamReader(System.in));
โโ
โโint n = Integer.parseInt(br.readLine());
โโint[][] xy = new int[n][2];
โโ
โโStringTokenizer st;
โโfor(int i = 0; i < n; i++) {
โโโst = new StringTokenizer(br.readLine());
โโโxy[i][0] = Integer.parseInt(st.nextToken());
โโโxy[i][1] = Integer.parseInt(st.nextToken());
โโ}
โโ
โโArrays.sort(xy, new Comparator<int[]>() {
โโโ@Override
โโโpublic int compare(int[] o1, int[] o2) {
โโโโif(o1[1] == o2[1]){
โโโโโโโโโโโโโโreturn o1[0] - o2[0];
โโโโโโโโโโ}else{
โโโโโโโโโโโโโโreturn o1[1] - o2[1];
โโโโโโโโโโ}
โโโ}
โโ});
โโ
โโfor(int i = 0; i < n; i++) {
โโโSystem.out.println(xy[i][0] + " " + xy[i][1]);
โโ}
โ}
}