만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

수열 합치기

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

요약
N개의 수열을 입력받아 전체 원소 개수, A번째와 B번째 수열에 함께 나오는 수의 합, 쌍별 병합의 최종 수열을 구합니다.
난이도

쉬움10점 중 3점

유형
구현, 시뮬레이션, 해시맵
정답자
아직 제출이 없습니다

문제

N개의 자연수 수열이 주어진다. 각 수열의 원소 개수는 미리 알려져 있다. 다음 세 가지 문제를 해결하라.

문제 #1

주어진 수열을 모두 차례로 이어 적으면, 적히는 수는 모두 몇 개인가?

문제 #2

A번째 수열과 B번째 수열에 모두 나타나는 수의 합은 얼마인가? 두 수열에서 반복되는 수는 한 번만 더한다.

문제 #3

두 수열을 다음 방식으로 하나로 합친다. 같은 위치(첫 번째, 두 번째, ...)에 있는 두 값을 비교하여 더 큰 값을 새 수열의 그 위치에 쓴다. 한 수열에 그 위치가 없으면, 위치가 있는 수열의 값을 새 수열의 그 위치에 쓴다.

주어진 N개의 수열을 차례로 두 개씩 짝지어(첫 번째와 두 번째, 세 번째와 네 번째, ...) 합치고, 수열이 하나만 남을 때까지 이 과정을 반복한다.

입력

첫째 줄에 자연수 N (1 ≤ N ≤ 128)이 주어진다. N은 2의 거듭제곱이다.

둘째 줄에 자연수 A와 B (1 ≤ A < B ≤ N)가 주어진다.

이어지는 N개의 줄에는 수열이 하나씩 주어진다. 각 줄의 첫 번째 수 M (1 ≤ M ≤ 99)은 그 수열의 원소 개수이고, 같은 줄에 M개의 자연수 Xi (1 ≤ Xi ≤ 99)가 이어서 주어진다.

출력

첫째 줄에 문제 #1의 답인 자연수를 출력한다.

둘째 줄에 문제 #2의 답을 출력한다.

셋째 줄에 최종적으로 합쳐진 수열의 첫 번째, 두 번째, ..., 마지막 위치의 값을 차례로 출력한다.

힌트

첫 번째 테스트 케이스 설명: 두 수열을 차례로 이어 적으면 여덟 개의 수가 적힌다. 첫 번째와 두 번째 수열에 모두 값 2가 나타난다. 두 수열을 합치면 [6 (24), 5 (5>2), 3, 1]이 된다.

두 번째 테스트 케이스 설명: 네 수열을 차례로 이어 적으면 스물한 개의 수가 적힌다. 세 번째와 네 번째 수열에 모두 나타나는 수는 2, 1, 3이다. 합치는 과정은 다음과 같다.

처음 네 수열첫째와 둘째, 셋째와 넷째를 합친 수열새로 만든 두 수열을 합친 수열
```
6 3 2 4 5
4 7
2 1 3 4 2 7
2 3 2 1 2 3 2 1
``````
6 7 2 4 5
2 3 3 4 2 7 2 1
``````
6 7 3 4 5 7 2 1

예제3

  1. 예제 1

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

    입력
    4
    3 4
    5 6 3 2 4 5
    2 4 7
    6 2 1 3 4 2 7
    8 2 3 2 1 2 3 2 1
    
    예상 출력
    21
    6
    6 7 3 4 5 7 2 1
    
  3. 예제 3

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