E D R , A S I H C RSS

The Grand Dinner

원문보기
----
인기도:C(A,B,C), 성공률:높음(낮음,보통,높음), 레벨:4(1~4)

About TheGrandDinner

올해 ACM 국제 대회 결선에 참가한 모든 팀은 시상식 후에 있는 대만찬에 참석해야 한다. 서로 다른 팀에 속한 멤버들이 최대한 서로 어울릴 수 있게 하기 위해, 한 테이블에 같은 팀에 속한 멤버가 두 명이상 앉을 수 없도록 했다.

각 팀에 속한 멤버들의 수(경시대회 참가자, 감독, 후보 선수, 참관인 모두 포함)와 각 테이블에 앉을 수 있는 사람 수가 주어졌을 때 처음에 정한 규칙대로 모두 앉을 수 있는지를 결정해야 한다. 규칙대로 앉을 수 있다면, 좌석 배치 방법을 출력한다. 여러 방법으로 배치할 수 있는 경우에는 아무 방법이나 출력해도 된다.

Input

한 개 이상의 테스트 케이스가 입력된다. 각 테스트 케이스의 첫째 줄에는 팀 수를 나타내는 1 이상 70 이하의 정수 M과 테이블 개수를 나타내는 1 이상 50 이하의 정수 N이 입력된다. 각 테스트 케이스의 둘 째줄에는 M개의 정수가 입력되는데, i번째 정수는 i번째 팀의 멤버 수를 나타낸다. 각 팀의 인원은 100명을 넘지 않는다. 셋째 줄에는 N개의 정수가 입력되며, j번째 정수인 n<sub>j</sub>는 2 이상 100 이하며 j번째 테이블에 앉을 수 있는 사람 수를 나타낸다.
M과 N이 모두 0으로 입력되면 입력이 끝난다.

Output

각 테스트 케이스에 대해 좌석을 배치할 수 있으면 1을, 그렇지 않으면 0을 출력한다. 배치가 가능한 경우에는, 그 밑으로 M줄에 걸쳐 좌석 배치를 출력하는데, i번째 줄에는 i번째 팀 멤버들이 앉을 테이블 번호(1에서 N까지)를 출력한다.

Sample Input

{{| 4 5

4 5 3 5

3 5 2 6 4

4 5

4 5 3 5

3 5 2 6 3

0 0 |}}

Sample Output

{{| 1

1 2 4 5

1 2 3 4 5

2 4 5

1 2 3 4 5

0 |}}

풀이

작성자 사용언어 개발시간 코드
조현태 C++ ??? TheGrandDinner/조현태
상섭 C++ 많이..ㅡㅜ TheGrandDinner/김상섭
기웅 C++ 생각은 많이. 코딩 시작해서는 1시간 TheGrandDinner/하기웅

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.6025 sec