[http://online-judge.uva.es/p/v102/10249.html 원문보기] ---- 인기도:C(A,B,C), 성공률:높음(낮음,보통,높음), 레벨:4(1~4) === About [TheGrandDinner] === 올해 ACM 국제 대회 결선에 참가한 모든 팀은 시상식 후에 있는 대만찬에 참석해야 한다. 서로 다른 팀에 속한 멤버들이 최대한 서로 어울릴 수 있게 하기 위해, 한 테이블에 같은 팀에 속한 멤버가 두 명이상 앉을 수 없도록 했다. 각 팀에 속한 멤버들의 수(경시대회 참가자, 감독, 후보 선수, 참관인 모두 포함)와 각 테이블에 앉을 수 있는 사람 수가 주어졌을 때 처음에 정한 규칙대로 모두 앉을 수 있는지를 결정해야 한다. 규칙대로 앉을 수 있다면, 좌석 배치 방법을 출력한다. 여러 방법으로 배치할 수 있는 경우에는 아무 방법이나 출력해도 된다. === Input === 한 개 이상의 테스트 케이스가 입력된다. 각 테스트 케이스의 첫째 줄에는 팀 수를 나타내는 1 이상 70 이하의 정수 M과 테이블 개수를 나타내는 1 이상 50 이하의 정수 N이 입력된다. 각 테스트 케이스의 둘 째줄에는 M개의 정수가 입력되는데, i번째 정수는 i번째 팀의 멤버 수를 나타낸다. 각 팀의 인원은 100명을 넘지 않는다. 셋째 줄에는 N개의 정수가 입력되며, j번째 정수인 nj는 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/하기웅] || === 쓰레드 === ---- [문제분류] [경시대회준비반]