유리 함수 근사
시간 제한1초메모리 제한128 MB
- 난이도
아직 분류되지 않았습니다
- 정답자
- 아직 제출이 없습니다
문제
함수 는 차수가 인 다항식 로 근사할 수 있다. 의 계수를 의 멱급수 전개( 근방)의 앞쪽 계수와 일치시키면 된다. 예를 들어,
이다.
그러나 다항식은 '얌전한' 함수여서, 특이점을 가진 함수처럼 나쁘게 행동하는 함수를 근사할 때는 잘 맞지 않는다. 이를 해결하기 위해 두 다항식 , 의 비 형태의 유리 함수로 근사할 수 있다.
, 과 멱급수의 처음 개 계수가 주어진다. 차수가 각각 최대 , 인 두 다항식 , 를 구하라. 단, 의 멱급수 전개에서 처음 개 계수가 모두 이고 항의 계수가 이어야 한다. 즉,
를 만족해야 한다. 여기서 는 차수가 보다 높은 항들을 뜻한다. 이렇게 하면 를 로 근사할 수 있다.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 케이스는 한 줄에 다음 형식으로 주어진다.
m n f0 f1 ... f(m+n-1)
여기서 는 의 멱급수 전개에서 의 계수이다. , , 이며, 모든 는 인 정수이다. 입력의 끝은 인 줄로 표시되고, 이 줄에는 의 계수가 없다. 주어지는 입력에 대한 해는 유일하다고 가정해도 된다.
출력
각 테스트 케이스마다 두 줄을 출력한다. 첫째 줄에 다항식 를, 둘째 줄에 를 출력한다.
다항식 는 의 오름차순으로 정렬된 쌍 의 목록으로 출력한다. 여기서 는 항의 이 아닌 계수이다. 이 아닌 각 계수 는 꼴로 출력하되 이고 는 기약분수여야 한다. 또한 이면 만 출력한다(는 생략). 이면 만 있는 줄을 출력한다. 목록의 쌍들은 공백 하나로 구분한다.
다항식 도 같은 방식으로 출력한다. 케이스와 케이스 사이에는 빈 줄을 하나 넣는다.
힌트
다항식 는 의 형태로 쓸 수 있으며, 도 마찬가지이다. 이 문제에서 두 다항식의 계수 , 는 유리수이다.
의 에 대한 멱급수 전개는 로 쓸 수 있으며, 이 문제에서 는 정수이다.