공식 치환
시간 제한1초메모리 제한128 MB
0과 1 두 변수를 포함하는 두 개의 수식 문자열이 주어질 때, 두 수식이 완전히 같아지도록 각 변수에 대입할 기본 수식을 찾는 유니피케이션 문제입니다.
문제
다음과 같이 수식을 정의한다.
- 상수는 영어 소문자(
a-z) 한 글자이다. - 변수는 숫자
0또는1이다. - 함수는 영어 대문자(
A-Z) 한 글자이다. - 수식은 상수, 변수, 또는
함수(수식,수식)형태이다.
예를 들어 a, 0, F(a,F(a,a)), G(F(0,1),G(a,1))은 올바른 수식이다. A, a(9), F(G(),a)는 올바른 수식이 아니다.
변수를 포함하지 않는 수식을 기본 수식이라고 한다.
두 수식이 주어진다. 두 수식에 나타나는 변수 0과 1의 모든 등장 위치를 각각 어떤 기본 수식으로 치환하여, 치환 후 두 수식이 완전히 같아지게 하라.
같은 변수가 여러 번 나타나면 모든 등장 위치에 같은 기본 수식을 사용해야 한다.
입력
입력은 두 줄이다. 각 줄에는 수식 하나가 주어지며, 각 수식의 길이는 100자를 넘지 않는다.
출력
첫째 줄에는 변수 0의 치환 결과를, 둘째 줄에는 변수 1의 치환 결과를 출력한다.
각 줄은 변수=기본 수식 형식이어야 한다. 어떤 변수가 입력 수식에 전혀 나타나지 않아도 그 변수의 치환 결과를 출력해야 한다.
항상 적어도 하나의 해가 존재하는 입력만 주어진다. 해는 유일하지 않을 수 있다.