onjo0127   8년 전

문제에서

"이제, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분(행 또는 열)을 고른 다음 그 사탕을 모두 먹는다."

이 부분이 명확하지 않습니다.

사탕을 교환한 다음 바뀐 두 칸의 행,열에서만 탐색해야 하는지, 아니면 모든 행,열을 탐색하는 것인지 나와 있지 않습니다.


그리고 아예 사탕을 바꿀 수 없을 때

예)

3

CCC

CCC

CCC


이럴 때는 서로 다른 색이 없어서 바꿀 수가 없는데 최대값은 어떻게 처리하나요? 이 상태에서 바꾸지 않고 먹을 수 있나요?


아래는 제 소스코드입니다.

완전탐색했습니다.


이 문제 맞으신 분들은 어떻게 풀으셨는지 궁금합니다.

도와주세요!

iljimae   8년 전

안녕하세요 onjo님! (저 블로그 친구에요 ㅋㅋ) 

각 사탕마다 인접해있는 사탕끼리 위치를 바꾸고 바뀐 곳에서만 탐색을 했더니 테스트 케이스를 다 통과하더라구요. 예를 들어서  (i,j)에 있는 사탕을 옆에 인접해있는 사탕과 

위치를 바꾸었을때는 i행, j열,그리고 (j+1)번째 열만 탐색하고 최댓값을 갱신했구요, 아래에 인접해있는 사탕과 위치를 바꾸었을때는 i행, (i+1)행 그리고 j열만 탐색해서 최댓값을 갱신했어요.  제 C++ 소스 첨부해볼게요:  

onjo0127   8년 전

안녕하세요 stardust님!

저도 블로그 잘 보고 있어요.


힌트 주셔서 감사합니다! 다시 풀어봐야겠네요

댓글을 작성하려면 로그인해야 합니다.