해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
두 참가자는 각각 1부터 9까지의 서로 다른 수로 이루어진 한 쌍을 받으며, 두 쌍 모두에 포함된 수는 정확히 하나이다. 두 참가자는 당신이 접근할 수 있는 통신 채널을 이용하되 그 수를 당신에게 밝히지 않으면서, 일치하는 수를 알아내려고 한다.
두 참가자는 자신이 받은 쌍을 포함하는 수의 쌍 집합을 서로에게 전달했다. 전달된 집합의 각 쌍은 서로 다른 두 수로 이루어진다.
공통된 수를 확실하게 추론할 수 있는지, 또는 두 참가자는 모두 그 수를 알지만 당신은 알지 못한다는 사실을 확실하게 판단할 수 있는지 알아낸다.
첫 번째 줄에는 두 정수 n와 m (1 ≤ n, m ≤ 12)가 주어진다. 각각 첫 번째 참가자가 두 번째 참가자에게 전달한 쌍의 수와 그 반대로 전달한 쌍의 수이다.
두 번째 줄에는 각각 1 이상 9 이하인 정수로 이루어진 n개의 쌍이 주어진다. 이는 첫 번째 참가자가 두 번째 참가자에게 전달한 수의 쌍들이다.
세 번째 줄에는 각각 1 이상 9 이하인 정수로 이루어진 m개의 쌍이 주어진다. 이는 두 번째 참가자가 첫 번째 참가자에게 전달한 수의 쌍들이다.
각 집합 안의 모든 쌍은 서로 다르며(특히 (1,2)라는 쌍이 있다면 같은 집합 안에 (2,1)이라는 쌍은 없다), 같은 수를 두 번 포함하는 쌍은 없다.
두 집합이 문제의 조건과 모순되지 않음이 보장된다. 다시 말해, 첫 번째 집합의 어떤 쌍과 두 번째 집합의 어떤 쌍이 정확히 하나의 수를 공유한다.
공유된 수를 확실하게 추론할 수 있다면 그 수를 출력한다.
두 참가자 모두 공유된 수를 알고 있지만 당신은 알지 못한다는 사실을 확실하게 추론할 수 있다면 0을 출력한다.
그렇지 않으면 -1을 출력한다.
2 2
1 2 3 4
1 5 3 4
12 2
1 2 3 4
1 5 6 4
02 3
1 2 4 5
1 2 1 3 2 3
-1첫 번째 예제에서 첫 번째 참가자는 (1,2)와 (3,4)를 전달했고, 두 번째 참가자는 (1,5)와 (3,4)를 전달했다. 두 참가자가 실제로 받은 쌍들이 정확히 하나의 수를 공유한다는 것을 알고 있으므로, 두 참가자가 모두 (3,4)를 받았을 수는 없다. 따라서 첫 번째 참가자는 (1,2)를 받았고 두 번째 참가자는 (1,5)를 받았으며, 이 시점에서 공유된 수가 1임을 이미 알 수 있다.
두 번째 예제에서는 첫 번째 참가자가 (1,2)를 받고 두 번째 참가자가 (1,5)를 받았거나, 첫 번째 참가자가 (3,4)를 받고 두 번째 참가자가 (6,4)를 받았다. 첫 번째 경우에는 두 참가자 모두 공유된 수가 1임을 알고, 두 번째 경우에는 두 참가자 모두 공유된 수가 4임을 안다. 당신에게는 1과 4를 구별할 충분한 정보가 없다.
세 번째 경우에는 첫 번째 참가자가 (1,2)를 받았다면 공유된 수가 무엇인지 알지 못한다. 첫 번째 참가자의 관점에서 두 번째 참가자는 (1,3)을 받았을 수도 있고, 이 경우 공유된 수는 1이며, 또는 (2,3)을 받았을 수도 있고, 이 경우 공유된 수는 2이기 때문이다. 두 번째 참가자는 그 수를 확실히 알고 있지만 당신과 첫 번째 참가자는 모두 알지 못하므로 출력은 -1이다.