작성
·
246
0
http://boj.kr/29cf5d9bfcf64cdaa6e347953dce96da
코드 설명부분은 주석달아 두었습니다.. 벡트렉킹으로 풀었는데
이상한 데이터 넣어보고 다른 TC들 혼자서 테스트 해보았는데 답은 잘나오는데 백준에서는 틀렷다고 합니다ㅠㅠ
어디서 틀린것인가요..??
답변 1
1
안녕하세요 stark님 ㅎㅎ
전반적으로 잘 짜셨네요. ㅎㅎ
지적할게 좀 있는데요.
굳이 visited외의 flowvisited를 쓸 이유가 있을까요? 이 배열을 기반하여 로직은 괜찮습니다만 애초에 이건 불필요한 배열인 거 같아요.
void SeedFlower(int y, int x)
{
FlowerVisited[y][x] = 1;
이거 잠깐 볼게요.
if (CanGo(ny, nx) == false) continue;
// 2. 갈 수 있다면 방문한 곳인지 확인
if (visited[ny][nx]) continue;
이 로직 다음에
// 꽃을심을 수 없는 경우, 이동
if (CanSeed(ny, nx) == false)
이런 식으로 꽃 심을 수 있냐로 판단하죠?
ny, nx로 차근차근 들어가는 거 좋습니다.
다만...
이런 경우는 처리가 안 될 거같아요.
이 경우 파란색 꽃의 경우 심을 수 있는데도 불구하고 visited로 방문한 정점이라 심을 수 없다고 판단되지 않을까요??
감사합니다.
항상 답변 감사합니다ㅎㅎ