https://www.acmicpc.net/problem/1931
package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.Comparator;
import java.util.StringTokenizer;
public class BaekJoonQ1931_P207_Q31 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw =new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int meeting =Integer.parseInt(br.readLine());
int meetingArr[][] = new int[meeting][2];
for(int i=0;i<meeting;i++) {
st =new StringTokenizer(br.readLine());
meetingArr[i][0] =Integer.parseInt(st.nextToken());
meetingArr[i][1] =Integer.parseInt(st.nextToken());
}
Arrays.sort(meetingArr,new Comparator<int[]>(){
@Override
public int compare(int[] o1, int[] o2) {
if(o1[1] == o2[1]) {
return o1[0] - o2[0];
}
return o1[1] - o2[1];
}
});
int rooms=0;
int endTime=0;
for(int i=0;i<meeting;i++) {
if(endTime<=meetingArr[i][0]) {
endTime=meetingArr[i][1];
++rooms;
}
}
bw.write(rooms+"");
bw.flush();
}
}