mugol2002   6년 전

어디가 문제인지 잘모르겠어요ㅜㅜ 

djm03178   6년 전

"새로 세울 수 있는 벽의 개수는 3개이며, 꼭 3개를 세워야 한다."

즉, 다음과 같은 케이스에서 6이 나와야 합니다.

3 3

0 0 0

0 0 0

0 0 0

sgchoi5   6년 전

세 개의 벽을 반드시 세우고 찾아야 하는데 ... 

현재 코드는 세 번의 전체 검색하는거라.... 벽이 1개나 2개인 경우도 조사를 합니다...

입력 받을 때에 0 인 좌표를 배열에 저정해두고 3중 for 문 돌려서 인덱스가 모두 다른 경우만 찾는 방식으로.... 한 번 해보심이....

if (map[i][j] == 0) {
 wallCandidate[emptyCnt].y = i;
 wallCandidate[emptyCnt].x = j;
 emptyCnt++;
}

벽 조합 만들기....

for (int i = 0; i < emptyCnt; i++) {
 for (int j = i + 1; j < emptyCnt; j++) {
  for (int k = j + 1; k < emptyCnt; k++) {

   temp = find(i, j, k, ans);
   if (temp > ans)
   ans = temp;

  }
 }
}



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