isku   3년 전

'모스크바와 자그레브와 인접한 블럭의 수는 하나이다.'

위 조건에 대해서 많은 분들이 오해가 있었던 것 같습니다. 


질문 게시판에서 확인한 결과

https://www.acmicpc.net/board/...

3 3
Z.M
2-.
...

// correct out : 2 3 3

위의 데이터가 추가되었습니다.

위 데이터의 경우 '모스크바와 자그레브와 인접한 블럭의 수는 하나이다.'를 생각할 때 

2행 3열에 3번 블럭이 한개가 들어가는 것이 정답이므로, 모스크바와 자그레브에 인접한 블럭이 1개가 성립합니다.

만약 이게 성립한다면

1 4
Z.-M

// correct out : 1 2 -
4 1
Z
.
|
M

// correct out : 2 1 |

위와 같은 형태의 데이터들도 올바른 경우일 것입니다.

또한,

1 3
Z.M

// correct out : 1 2 -
3 1
Z
.
M
// correct out : 2 1 |

위와 같은 형태의 데이터들도 모스크바와 자그레브를 독립적인 입장으로 바라봤을 때 각각에 인접한 블럭이 1개이므로 올바른 경우라 생각됩니다.

문제는 위 형태의 데이터가 올바른 경우라면,

2 2
.M
Z.

// correct out : 1 1 1
// correct out : 2 2 3

위와 같이 두 가지 경우의 정답이 발생하게 되어서, 스페셜저지가 필요하게 됩니다.



비록 정답에서 모스크바와 자그레브와 인접한 블럭의 수가 1개가 성립되더라도

입력에서 모스크바와 자그레브와 인접한 블럭이 1개가 반드시 주어지지 않으면, 위에서와 같이 스페셜저지를 고려해야합니다.

공식 홈페이지에서 데이터와, 솔루션 등을 확인한 결과

입력에서 모스크바와 자그레브에 인접한 위치에 블럭이 반드시 1개가 주어지는 데이터만 있었고,

주어진 솔루션을 컴파일한 결과로 아래 데이터로 실행 해 본 결과, 출력이 되지 않았습니다.

3 3
Z.M
2-.
...


즉, 출제자가 의도한 바는 입력이 주어질 때 모스크바와 자그레브와 인접한 블럭의 수가 1개가 반드시 주어지는 것으로 저는 생각합니다.

따라서 '모스크바와 자그레브와 인접한 블럭의 수는 하나이다.' 라는 조건을 조금 더 명확히

-> '모스크바와 자그레브와 인접한 블럭은 반드시 1개인 입력이 주어진다.' 라고 수정하는 것이 좋을 것 같습니다.

또 위 조건을 수정할 때에, https://www.acmicpc.net/board/... 의 데이터와, 위에서 설명한 예 중 해당하는 데이터를 삭제해주세요.

만약 위 데이터가 올바르다고 하면,

위에서 설명한 데이터들을 모두 추가해주시고, 스페셜저지를 요청합니다.

startlink   3년 전

데이터를 살펴보고, 문제 원문을 확인해본 결과 데이터를 삭제하고, 문제 조건을 추가하기로 했습니다.

mimmyum   3년 전

오 감사합니다 ㅠㅠ 시간초과나오던게 다 맞는걸로 처리됐네요!! 감사합니다!!

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