"새로 세울 수 있는 벽의 개수는 3개이며, 꼭 3개를 세워야 한다."
즉, 다음과 같은 케이스에서 6이 나와야 합니다.
3 3
0 0 0
0 0 0
0 0 0
14502번 - 연구소
세 개의 벽을 반드시 세우고 찾아야 하는데 ...
현재 코드는 세 번의 전체 검색하는거라.... 벽이 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;
}
}
}
댓글을 작성하려면 로그인해야 합니다.
mugol2002 6년 전
어디가 문제인지 잘모르겠어요ㅜㅜ