로마인들처럼
면접 대비시간 제한1초메모리 제한128 MB
로마 숫자 두 개를 읽어 합을 구하고, 합이 1000을 넘지 않으면 로마 숫자로, 넘으면 CONCORDIA CUM VERITATE를 출력한다.
문제
로마 제국이 멸망하지 않았다면 로마인들은 분명 전기를 발견하고 전자계산기를 사용했을 것입니다. 하지만 로마인들은 로마 숫자를 썼습니다! 여러분의 임무는 두 개의 로마 숫자를 입력받아 그 합을 로마 숫자로 출력하는 간단한 로마 숫자 계산기를 구현하는 것입니다.
입력으로는 1000보다 큰 수가 주어지지 않는다고 가정해도 됩니다. 그러나 합이 1000보다 크면 그 값은 표현할 수 없으므로, 로마 숫자 대신 CONCORDIA CUM VERITATE(진리와의 조화)라는 문구를 출력해야 합니다.
입력
첫 줄에는 테스트 케이스의 개수를 나타내는 정수가 주어지고, 이어서 그 개수만큼의 테스트 케이스가 주어집니다. 각 테스트 케이스는 한 줄로 이루어지며, 두 개의 로마 숫자가 +로 연결되고 줄 끝에 =가 붙어 있습니다. 구분용 공백은 없습니다.
출력
각 테스트 케이스마다 입력 줄을 그대로 옮겨 적은 뒤, = 다음에 두 수의 합을 나타내는 로마 숫자를 이어 붙여 출력합니다. 서로 다른 테스트 케이스의 출력은 빈 줄 하나로 구분합니다.
힌트
로마 숫자 연구
로마인들이 사용한 로마 숫자는 오랜 세월에 걸쳐 변해 왔기 때문에 표기 방식에 약간의 차이가 있습니다. 여기서는 다음 규칙을 사용합니다.
- 사용하는 기호는 다음과 같습니다.
I는 1,V는 5,X는 10,L는 50,C는 100,D는 500,M은 1000입니다. - 수는 위 기호들을 왼쪽에서 오른쪽으로 나열하여 합으로 표현하며, 매 단계에서 가능한 한 가장 큰 값의 기호를 사용합니다. 기호
M,C,X,I는 연속해서 최대 세 번까지만 쓸 수 있습니다. 이 규칙을 어기게 되는 경우에 한하여 아래의 뺄셈 규칙을 사용할 수 있습니다.- 하나의
I가V또는X바로 앞에 오면 빼서 계산합니다. 하나의X가L또는C바로 앞에 오면 빼서 계산합니다. 하나의C가D또는M바로 앞에 오면 빼서 계산합니다.
- 하나의
예를 들어 II = 2, IX = 9, CXIII = 113, LIV = 54, XXXVIII = 38, XCIX = 99 입니다.