아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

전설의 보물의 비밀

면접 대비

시간 제한1초메모리 제한512 MB

요약
1부터 n+m까지의 서로 다른 수로 이루어진 두 오름차순 수열이 주어지고 일부 항목이 0으로 지워져 있을 때, 조건에 맞는 수열 한 쌍을 복원한다.
난이도

보통10점 중 5점

유형
그리디, 배열, 정렬, 구현
정답자
아직 제출이 없습니다

문제

마침내 두 정수 수열이 적힌 문서를 발견했다. 전설의 보물을 여는 마지막 열쇠다! 그러나 문서의 잉크가 너무 바래서 수열의 일부 숫자는 읽을 수 없다. 다행히 열쇠 수열의 특징에 대한 전설을 들어 본 적이 있다. (1) 두 수열의 숫자는 모두 서로 다르고 1과 두 수열 길이의 합 사이에 있다. (2) 두 수열은 모두 오름차순으로 정렬되어 있다.

읽을 수 있는 숫자와 전설을 바탕으로 원래 수열을 복원하자.

입력

입력은 다음 형식의 단일 테스트 케이스로 이루어진다.

n m
a1 . . . an
b1 . . . bm

첫 번째 줄은 두 정수 n (1 ≤ n ≤ 100)과 m (1 ≤ m ≤ 100)으로 이루어진다. 각각 두 수열 A와 B의 길이다. 두 번째 줄은 수열 A를 나타낸다. 각 ai는 0이거나 양의 정수 1 ≤ ai ≤ n + m이다. 0은 A의 i번째 원소를 읽을 수 없다는 뜻이고, 양의 정수는 그 원소가 ai로 읽힌다는 뜻이다. 세 번째 줄은 같은 방식으로 수열 B를 나타낸다.

출력

복원한 두 수열 A와 B를 두 줄에 출력한다. 두 수열은 입력과 수열의 전설적인 특징에 부합해야 한다.

수열 A의 원소를 첫 번째 줄에 공백 문자로 구분해 출력한다. 그다음 수열 B의 원소를 같은 방식으로 두 번째 줄에 출력한다.

가능한 경우가 여러 가지라면 그러한 쌍 중 아무거나 출력한다. 입력과 부합하고 전설을 따르는 수열 쌍이 적어도 하나 존재함이 보장된다.

힌트

두 번째 예제 입력에는 6과 7의 위치를 바꾼 출력 등 다른 정답도 있다.

예제2

  1. 예제 1

    입력
    3 3
    0 0 0
    4 0 0
    
    예상 출력
    1 2 3
    4 5 6
    
  2. 예제 2

    입력
    6 7
    0 5 0 0 0 13
    0 0 3 0 8 0 12
    
    예상 출력
    4 5 7 10 11 13
    1 2 3 6 8 9 12