같은 길이의 두 숫자 문자열에서 물음표를 채워 두 값의 차이를 최소로 만들고, 차이가 같으면 첫 번째 값을, 그다음 두 번째 값을 최소로 만든다.
보통4완전 탐색구현그리디문자열면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB스포츠 역사상 가장 중요한 경기를 관람하고 있다. 원심 범블퍼피 월드 파이널에서 오세아니아 코더스와 유라시아 재머스가 맞붙는다. 안타깝게도 경기를 너무 기대한 나머지 잠을 설쳤고, 경기 도중 그만 잠들어 버렸다!
전광판에는 지금 두 팀의 점수가 표시되어 있다. 전광판은 정해진 자릿수만큼 숫자를 표시하므로 점수 앞에 0이 하나 이상 붙어 있을 수도 있다. 자는 동안 강한 타구에 맞아 전광판의 일부 전구가 망가졌고, 그래서 한쪽 또는 양쪽 점수에서 숫자 하나 이상이 보이지 않는다.
당신은 접전일수록 재미있다고 생각하기 때문에 두 점수가 최대한 가깝다고 상상하고 싶다. 두 점수 차의 절댓값이 가장 작아지도록 빠진 숫자를 모두 채워 보자. 절댓값 차를 최소로 만드는 방법이 여러 가지라면 코더스의 점수가 가장 작은 방법을 고른다. 그래도 여러 가지라면 재머스의 점수가 가장 작은 방법을 고른다.
첫째 줄에 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다. 각 테스트 케이스는 한 줄로 이루어지며, 길이가 같고 비어 있지 않은 두 문자열 C와 J가 주어진다. 두 문자열은 숫자와 물음표로만 이루어져 있고, 각각 눈에 보이는 코더스와 재머스의 점수를 나타낸다. 각 테스트 케이스에는 물음표가 적어도 하나 있다.
각 테스트 케이스마다 Case #x: c j를 한 줄에 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, c는 C의 물음표를 숫자로 바꾼 문자열, j는 J의 물음표를 숫자로 바꾼 문자열이다. c와 j가 나타내는 정수의 차의 절댓값이 최소가 되어야 한다. 절댓값 차가 같은 답이 여러 개라면 c가 가장 작은 것을, 절댓값 차와 c가 모두 같은 답이 여러 개라면 j가 가장 작은 것을 출력한다. 앞에 붙은 0도 그대로 출력한다.
예제의 네 번째 케이스에서 답은 15 10이 될 수 없다. 절댓값 차는 최소지만 코더스의 점수가 최소가 아니기 때문이다. 05 10도 답이 아니다. 절댓값 차와 코더스의 점수는 최소지만 재머스의 점수가 최소가 아니다.