2진수의 합 > 문제은행



실전대비 Level8

1705 : 2진수의 합

제한시간: 1000 ms    메모리제한: 64 MB
해결횟수: 1 회    시도횟수: 2 회   



3개의 정수 a, b, c가 주어지고, 이 세 개를 맨 앞자리에 0이 존재하지 않는 이진수로 변환한다. 

x를 변환된 3개의 이진수 중 가장 긴 이진수의 자릿수라고 하자. 그런 다음 모든 수를 x자리가 되도록 앞에 0을 계속하여 붙여주자. 


그리하여 새로이 만들어진 a, b, c들을 새로이 a', b', c'로 만드는데, 

주어진 수의 자리들을 임의적으로 변경하여 a', b', c'를 만들고 a'+b'=c'가 성립하며 c'가 최소가 되게끔 해보자. 


예를 들어, a=7, b=6, c=9라고 할 때, 이를 이진수로 변환하면 a=111, b=110, 그리고 c=1001로 바뀌게 된다. 

그런 다음 x=4가 되므로 a=0111, b=0110, c=1001이 되게 되며, 

자리들을 임시적으로 변경하여 a'=0111, b'=0011, c'=1010으로 바꾸게 될 경우 a'+b'=c'(7+3=10) 가 만족되게 된다. 

다른 방법으로 (7+5=12)도 가능하나, 이 경우는 c'가 최소화 되지 않는다. 


3개의 양의 정수 a, b, c가 주어졌을 때, c'를 최소화 하는 프로그램을 작성하라.




입력은 여러개의 테스트 케이스로 주어지며, 각 테스트 케이스는 한줄로 이뤄진다.
테스트 케이스는 3개의 정수 a, b, c이며 3개의 정수 사이에는 공백이 주어진다. a, b, c는 1이상 230이하이다.
입력으로 0 0 0이 들어올 경우 입력을 종료한다.
테스트 케이스는 최대 200개가 들어올 수 있다.




입력에 대해 a'+b'=c'를 만족하는 c'가 존재할 경우 c'값을 출력하며, 그렇지 않을 경우 -1을 출력한다.



7 6 9 
1 1 2 
1 1 4 
3 3 9 
1 1 1 
32517565 204650420 4096 
0 0 0
10 
2 
2 
6 
-1 
-1






HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 070-7163-5782 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.