pstopia Notes for Problem Solving Contest

[Easy] Zoo

Topcoder SRM 511 Div1

Problem

동물들의 구체적인 위치는 중요하지 않고, answers[] 에 있는 값만 중요하다. 실제로 answers[] 에 있는 값의 종류와 종류별 개수만 갖고 있어도 된다. cnt[i] = (answers[k] == i) 인 k의 개수 1. cnt[i] <= 2 여야 한다. 동물의 종류는 최대 2종류 뿐이기 때문이다. 2. cnt[i+1] <= cnt[i] 여야 한다. 나보다 키가 큰 동물이 i마리라고 말하는 것의 수가 나보다 키가 큰 동물이 i+1마리라고 말하는 것의 수 보다 적을 수 없기 때문이다. cnt[0] 마리에 대해 토끼인지 고양이인지 결정하는 경우의 수는 2가지 cnt[i] 마리에 대해 토끼인지 고양이인지 결정하는 경우의 수는 cnt[i-1]가지 이것들을 모두 곱하면 답이 된다.