문제 링크
- http://icpc.me/8873
문제 출처
- 2013 IOI Day1 2번
풀이
문제를 읽으면 이상한 휴리스틱을 써야한다는 것은 알 수 있습니다.
여러가지 풀이가 있는 것으로 알고 있고, 그 중 한 가지를 소개하고자 합니다.
스타일4(색면회화)에 속한 그림들은 비슷한 색깔들이 큰 덩어리에 뭉쳐있습니다.
스타일1(현대 신조형주의)에 속한 그림들도 비슷한 색깔끼리 뭉쳐있지만 스타일4보다는 덩어리들이 작습니다.
스타일2(인상주의 풍경화)에 속한 그림들은 전체적으로 초록색이 많지만 스타일1/4처럼 거의 같은 색이 덩어리로 뭉쳐있지는 않습니다.
마지막으로 스타일4(표현주의)에 속한 그림들은 무작위에 가깝게 색깔이 칠해져 있습니다.
위 성질을 이용해서 문제를 풀어봅시다.
각 셀마다 인접한 셀과 색깔이 얼마나 차이나는지 계산을 해주고, 적절한 기준을 잡아서 스타일을 분류해주면 됩니다.
인접한 색깔의 차이는 각 채널마다 abs(color[i+1][j] - color[i][j])
같은 식을 통해 구해줄 수 있습니다.
Green 채널만 봐도 문제를 풀 수 있다고 하는데, 저는 잘 모르겠습니다.
전체 코드
1 |
|