*조합으로 풀기
일렬로 놓인 n개의 자리 중 r개를 골라 표시하되, 표시한 두 자리가 서로 이웃하지 않게 하자.같은 종류의 물건은 서로 구별하지 않는다. 여기서는 r≥1, n≥2r−1이라 한다.r=0이면 아무것도 표시하지 않는 한 가지이고, n<2r−1이면 불가능하다.
*빈틈에 넣기
표시하지 않을 자리 n−r개를 먼저 나열한다.양 끝을 포함한 빈틈은 n−r+1개이다.표시할 자리끼리 이웃하지 않으려면 빈틈 하나에 하나씩만 넣어야 하므로,이 빈틈 중 r개를 고르면 된다.n−r+1Cr
*자리 번호를 줄이기
고른 자리의 번호를 a1<a2<⋯<ar라 하면,이웃하지 않는 조건은 ai+1≥ai+2이다.bi=ai−(i−1)로 놓으면1≤b1<b2<⋯<br≤n−r+1이다. 역으로 ai=bi+(i−1)로 복원되므로,n−r+1개 중 r개를 고르는 보통 조합과 일대일로 대응한다.
예제
1부터 10까지의 자연수 중 서로 연속하지 않는 수 3개를 고르는 경우의 수를 구하여라.
해설
고르지 않는 수 7개를 먼저 놓으면 빈틈은 8개이다.그중 3개를 고르면 되므로8C3=56이다.
*서로 다른 물건을 나열할 때
자리만 고르는 것과 물건의 순서를 정하는 것은 구분한다.표시할 물건 r개가 서로 다르면 고른 자리에 놓는 방법 r!을 곱한다.나머지 물건 n−r개도 서로 다르면 그 순서까지 정해야 하므로n−r+1Crr!(n−r)!이다. 일렬로 나열하는 경우이며, 원형으로 나열할 때에는 양 끝의 이웃 관계를 따로 확인한다.
*중복조합으로 풀기
표시한 자리의 앞뒤와 사이에 있는 빈자리 수를 차례로 x0,x1,…,xr라 하면x0+x1+⋯+xr=n−r이다. 양 끝은 비어 있어도 되지만, 표시한 자리 사이에는 적어도 한 칸이 필요하므로x0,xr≥0,x1,…,xr−1≥1이다.
*필수 빈자리를 먼저 빼기
사이의 r−1곳에서 한 칸씩 미리 빼고,y0=x0, yr=xr, yi=xi−1 (1≤i≤r−1)로 놓으면y0+y1+⋯+yr=n−2r+1,yi≥0이다. 남은 빈자리 n−2r+1개를 r+1곳에 중복을 허용하여 분배하므로r+1Hn−2r+1=n−r+1Cr이다. 빈틈에 표시할 자리를 고르는 조합 풀이와 같은 결과를 얻는다.
예제
1부터 10까지의 자연수 중 서로 연속하지 않는 수 3개를 고르는 경우의 수를 구하여라.
해설
고른 수 3개의 사이 두 곳에 빈자리를 하나씩 먼저 둔다.남은 빈자리 5개를 양 끝과 사이, 모두 4곳에 나누므로4H5=8C3=56이다.
*사이에 여러 칸이 필요할 때
표시한 두 자리 사이에 적어도 k개의 빈자리가 필요하면,사이의 r−1곳에 k개씩 먼저 둔다.남은 빈자리는 n−r−k(r−1)개이므로r+1Hn−r−k(r−1)=n−k(r−1)Cr이다. 단, n−r≥k(r−1)이어야 한다.양 끝이나 사이에 필요한 최소 칸 수가 다를 때에도, 각 곳의 필수 칸 수를 먼저 빼면 된다.
*점화식으로 풀기
*표시할 개수가 정해진 경우
일렬로 놓인 n개의 자리 중 서로 이웃하지 않는 r개를 고르는 경우의 수를 An,r라 하자.마지막 자리를 고르는지에 따라 나누면,고르지 않을 때에는 앞의 n−1자리에서 r개를 고르므로 An−1,r가지이다.고를 때에는 바로 앞자리를 고를 수 없으므로 n−2자리에서 r−1개를 고르는 An−2,r−1가지이다.따라서An,r=An−1,r+An−2,r−1(n≥2, r≥1)
초깃값은 A0,0=1, A1,0=A1,1=1이다.또한 An,0=1이고, r<0이거나 r>⌈n/2⌉이면 An,r=0으로 둔다.조합으로 얻은 An,r=n−r+1Cr를 대입하면 이 점화식은 파스칼의 항등식과 연결된다.
*표시할 개수도 자유로운 경우
표시할 개수의 제한 없이, 이웃한 두 자리가 모두 표시되지 않는 배열의 수를 Bn이라 하자.아무 자리도 표시하지 않는 경우도 포함한다.마지막 자리를 표시하지 않으면 Bn−1가지,표시하면 바로 앞자리는 비워야 하므로 Bn−2가지이다.따라서Bn=Bn−1+Bn−2(n≥2)이고, B0=1, B1=2이다. 피보나치 수열과 같은 점화식을 갖는다.
예제
0과 1로 이루어진 길이 5의 수열 중 1이 연속하여 나오지 않는 수열의 개수를 구하여라.
해설
1인 자리를 표시한 것으로 생각하면,B0=1, B1=2, B2=3, B3=5, B4=8, B5=13이므로 13개이다.1의 개수에 따라 나누어도6C0+5C1+4C2+3C3=1+5+6+1=13으로 같다.
Advice. 고를 개수가 정해져 있고 간격 조건이 단순하면 조합으로 자리를 고르고, 사이의 최소 간격이나 양 끝의 조건이 있으면 중복조합으로 빈자리를 분배하며, 고를 개수가 자유롭거나 마지막 몇 자리의 상태에 따라 다음 선택이 달라지면 점화식을 세운다.