별 S개가 주어질 때, a개와 b개가 번갈아 놓인 행으로 정확히 S개를 채우는 모든 배열을 찾아 출력한다.
쉬움3수학완전 탐색구현아직 제출이 없습니다시간 제한1초메모리 제한512 MB푸에르토리코가 미국의 주로 편입하는 쪽에 표를 던지자 국기 제조업체가 들썩이고 있다. 별이 50개인 지금의 국기가 별 51개짜리로 바뀌면 국기 판매량이 크게 뛴다.
별 50개를 놓는 지금의 배치는 별 6개짜리 다섯 줄과 별 5개짜리 네 줄을 반 칸씩 어긋나게 번갈아 놓은 모양이다. 별을 다 놓을 때까지 두 종류의 줄이 번갈아 나온다.
* * * * * *
* * * * *
* * * * * *
* * * * *
* * * * * *
* * * * *
* * * * * *
* * * * *
* * * * * *
이 배치에서는 이웃한 두 줄의 별 개수가 1개를 넘게 차이 나지 않는다. 그래서 첫 줄과 둘째 줄의 별 개수만 적어 배치를 간단히 나타낼 수 있다. 위 배치는 6,5이다.
같은 성질을 만족하면서 별이 51개인 배치로는 별 9개짜리 세 줄과 별 8개짜리 세 줄을 번갈아 놓은 9,8이 있다. 반대로 어느 주가 연방에서 빠진다면 별 7개짜리 일곱 줄, 즉 7,7이 보기 좋은 배치가 된다.
다음 세 조건을 모두 만족하는 배치를 보기 좋은 배치라고 한다.
당신의 팀은 별 51개라는 눈앞의 변화만 보지 않고, 주가 세 개 이상인 어떤 연방의 국기든 팔려고 한다. 국기에 그릴 별 개수 S가 주어지면 보기 좋은 배치를 모두 찾아라.
첫째 줄에 국기에 그릴 별의 개수 S가 주어진다. (3≤S≤32767)
첫째 줄에 S와 콜론을 붙여서 출력한다. 그다음 줄부터 별 S개로 만드는 보기 좋은 배치의 간단한 표기를 한 줄에 하나씩 출력한다.
첫 줄의 별 개수가 작은 배치부터 출력하고, 첫 줄의 별 개수가 같으면 둘째 줄의 별 개수가 작은 배치부터 출력한다. 한 줄에 별을 S개 놓는 배치와 별 1개짜리 줄을 S개 놓는 배치는 뻔하므로 출력하지 않는다.
간단한 표기는 "x,y" 꼴로 쓴다. x와 y 사이에 쉼표 하나만 넣고 다른 문자는 넣지 않는다.