페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#3428

등수 찾기(ranking) 2초 1024MB

문제

KOI 본선 대회에 N명의 학생이 참가했다. 이 학생들을 각각 1부터 N​까지 정수로 표현하자. 

대회가 끝나고 성적을 발표하는데, 이 대회는 전체 학생의 등수를 발표하는 대신, 

두 학생 A, B가 대회 본부에 찾아가면 본부는 두 학생 중 어느 학생이 더 잘 했는지를 알려준다. 

둘 이상의 학생이 동점인 경우는 없다.

 

자신의 전체에서 등수가 궁금한 학생들은 둘 씩 짝을 지어서 대회 본부에 총 M번 질문을 했다. 

여러분은 등수를 알고 싶은 학생 X와 대회 본부의 질문에 대한 답들로부터, 

이 학생 X의 등수 범위를 찾아서 출력한다. 

물론 이 학생의 등수는 1등, 즉 전체에서 제일 잘한 경우부터 

N등, 즉 전체에서 제일 못한 경우 사이겠지만, 질문에 대한 답으로 알 수 있는 최대한 정확한 답을 출력한다.


입력

첫 번째 줄에 세 정수 N, M, X 가 공백을 사이에 두고 주어진다

( 2 ≤ N ≤ 10^5, 1 ≤ M ≤ min(N(N-1)/2, 5×10^5 ), 1 ≤ X ≤ N).

다음 M 줄에는 각각 두 정수 A, B가 주어지는데, 

이 뜻은 학생 A가 학생 B보다 더 잘했다는 뜻이다. 

같은 A, B가 둘 이상의 줄에 주어지는 경우는 없고, 

입력된 값이 정확함이 보장된다.


출력

두 정수 U, V ( 1 ≤ U ≤ V ≤ N) 를 출력한다.

이는 학생 X의 가능한 가장 높은 등수가 U, 가능한 가장 낮은 등수가 V임을 나타낸다. 

만약 학생 X의 가능한 등수가 정확하게 하나라면, U = V이다. 


부분문제

번호 점수 조건
#112점

N ≤ 10

#211점

N ≤ 1,000, M = N(N-1)/2

#334점

N ≤ 1,000

#443점

추가 제약조건이 없다.


예제1

입력
5 4 1

1 2
2 3
3 4
4 5
출력
1 1

예제2

입력
5 3 1

2 3
3 4
4 5
출력
1 5

예제3

입력
5 5 1

1 3
2 3
3 4
3 5
4 5
출력
1 2

출처

KOI 2차 2019 초3

역링크 공식 문제집만