Ili
면접 대비시간 제한4초메모리 제한1024 MB
일부 OR 게이트의 출력값이 주어진 회로에서, 입력선 값을 어떻게 정하든 값이 하나로 고정되는 게이트 출력을 모두 찾아 표시한다.
문제
미르코는 작업실에서 간단한 논리 회로를 만들고 있다. 회로는 으로 표시하는 시작 전선 개와 으로 표시하는 OR 논리 소자 개로 이루어진다. 각 소자에는 입력이 정확히 두 개, 출력이 하나 있다. 각 입력은 시작 전선 또는 다른 소자 의 출력에 연결된다. 물론 논리 회로에는 사이클이 없으며, 더 나아가 의 입력은 일 때만 의 출력에 연결될 수 있다.
회로의 각 시작 전선에는 값 0 또는 1을 줄 수 있다. 각 소자의 출력값은 두 입력의 논리 OR 연산 결과이다. 즉 두 입력값이 모두 0이면 0이고, 그렇지 않으면 1이다.
미르코는 시작 전선의 값을 모르지만, 꼼꼼히 측정해서 일부 소자의 출력값을 알아냈다. 측정 결과를 바탕으로 유일하게 결정할 수 있는 나머지 출력값을 모두 구하시오.
입력
첫째 줄에 시작 전선의 수 과 소자의 수 이 양의 정수로 주어진다.
둘째 줄에 정확히 글자인 문자열이 주어진다. 번째 글자는 측정한 소자 의 출력값이며, 미르코가 그 값을 측정하지 않았다면 ?이다.
다음 개의 줄 중 번째 줄에는 소자 의 두 입력 레이블이 주어진다. 각 레이블은 시작 전선을 뜻하는 xi 꼴()이거나 소자를 뜻하는 ci 꼴()이다. 소자 의 두 입력은 같을 수도 있다. 측정값은 서로 모순되지 않는다고 가정해도 좋다.
출력
첫째 줄에 글자인 문자열을 출력한다. 번째 글자는 의 출력값이어야 하고, 그 값을 유일하게 결정할 수 없다면 ?이어야 한다.