승격 인원이 A명과 B명일 때 모든 가능한 승격 집합에 포함되는 직원 수와 B명으로도 승격할 수 없는 직원 수를 구합니다.
보통7위상 정렬그래프아직 제출이 없습니다시간 제한2초메모리 제한256 MB
공정 주식회사 경영진은 우수 사원을 승진시키기로 하고, 승진자 수를 구간 [A,B] 안으로 제한했다. 임원진이 사원의 실적을 비교한 결과 사원 사이에 모순 없는 우열 관계가 나왔고, 승진은 이 관계를 지켜야 한다. 즉 사원 x가 사원 y보다 나은 실적을 냈다면, x가 승진할 때에만 y도 승진할 수 있다.
지금까지 모은 자료가 공정성을 보장하기에 충분한지 알아보려고 회장은 다음 두 가지를 묻는다.
그림의 예를 보자. 사원은 일곱 명이고 우열 규칙은 여덟 개다. 사원 x에서 사원 y로 가는 화살표는 x가 y보다 나은 실적을 냈다는 뜻이다. 승진자 수는 구간 [3,4]로 제한되어 있다.
승진자 수의 구간, 사원 집합, 사원 사이의 우열 관계가 주어질 때 구간의 양 끝점 각각에 대해 반드시 승진하는 사원 수를 구하고, 승진할 가능성이 없는 사원 수를 구하는 프로그램을 작성하시오.
우열 관계에는 모순이 없다. 사원 x가 사원 y보다 나은 실적을 냈다면 y는 직접적으로든 간접적으로든 x보다 나은 실적을 내지 않았다.
첫째 줄에 네 정수 A, B, E, P가 공백으로 구분되어 주어진다. A와 B는 구간의 양 끝점, E는 사원 수, P는 우열 규칙의 개수다. 사원은 0부터 E−1까지의 정수로 구분한다. 다음 P개의 줄에는 서로 다른 두 정수 x와 y가 공백으로 구분되어 주어진다. 이는 사원 x가 사원 y보다 나은 실적을 냈다는 뜻이다.
제한
세 줄을 출력한다.
첫째 줄에는 승진자가 A명일 때 반드시 승진하는 사원 수를 출력한다. 둘째 줄에는 승진자가 B명일 때 반드시 승진하는 사원 수를 출력한다. 셋째 줄에는 승진자가 B명이어도 승진할 가능성이 없는 사원 수를 출력한다.