adfsfsf   5년 전

만약 아무것도 놓지 않는 경우도 1가지의 방법으로 친다면, n이 1이면 안 놓는 경우와 놓는 경우의 2가지, n이 2이면 기존의 3가지 방법에 안 놓는 경우를 포함해 4가지로 하는 식으로 1가지씩 늘려야 맞습니다. 하지만 본 문제는 0일 때에만 아무것도 놓지 않는 경우를 취급하고 나머지 경우에는 취급하지 않음으로써 문제를 모호하게 만들어버렸습니다. 이상이 다른 질문글, 의견글들을 보고 제가 내린 결론입니다. 만약 현재의 '아무것도 놓지 않는 경우도 1가지로 취급한다.'를 유지하고 싶으시다면, 다른 경우들도 전부 '아무것도 놓지 않는 경우'를 추가해 1가지씩 더 큰 값이 출력되도록 해야 합니다.

djm03178   5년 전

문제가 요구하는 것은 "2×n 직사각형을 2×1과 2×2 타일로 채우는 방법의 수" 입니다. n이 1 이상인데 아무것도 안 놓으면 당연히 채워지지 않은 상태니까 경우의 수를 셀 수가 없죠.

onjo0127   5년 전

문제에서 요구하는 것은 2xn 타일을 '채우는' 경우의 수이므로 2x0 타일은 아무것도 놓지 않아도 '채워진' 상태가 되므로 아무것도 놓지 않는 경우가 1가지의 방법이 됩니다.

다만 나머지 경우에는 아무것도 놓지 않을 시 2xn 타일을 '채울' 수 없으므로 한 가지의 방법으로 인정해서는 안 됩니다. 문제를 수정하지 않는 것이 맞는 것 같아요.

adfsfsf   5년 전

근데 채운다는 것은 채울 공간이 있어야 성립하지 않나요? 그러고보니 0인 경우는 어떻게 성립하는 것인지 좀 의문이네요... 0인 경우도 성립한다는 가정 하에 본다면 맞는 것 같기도 하네요.

djm03178   5년 전

"빈 공간이 없게 만든다"와 동치로 보면 됩니다.

chogahui05   5년 전

경우의 수 문제는 이런 게 애매하죠.. 해석이 다르게 될 여지가 있는데..

 700명 가까이 푸신 거 보면.. 너무 깊게 생각할 필요는 없는 듯 싶긴 하네요..

adfsfsf   5년 전

좀 더 생각해 봤습니다... 0칸이라는 것은, 넓이가 없는 면을 의미한다고 생각했습니다. 기하학적인 의미에서, 선은 너비가 없는 면이라고 표현하는 걸로 압니다. 즉, 0칸이라는 것도 존재할 수 있는 것으로 보입니다. 따라서, 0칸은 존재할 수 있습니다. 그렇다면 이 경우는 어떻게 해석해야 하는가가 또 의문이 되는데요, 이것은 일단 0칸인 공간이 존재할 수 있다는 점에서 출발합니다. 넓이가 없다는 것은, 채울 공간이 없다는 것으로 해석해야 하며, 따라서 채우는 가짓수는 이미 채워진 상태나 마찬가지인 아무것도 하지 않은 상태의 1가지라 해야 합니다. 이 해석이 맞을까요?

@djm03178 

djm03178   5년 전

너무 수학적으로 엄밀한 정의를 내리려고 할 필요가 있나 싶습니다. 1x2, 2x1 블록을 각각 0개씩 사용해서 남는 곳이 없게 만들었으니 그 경우가 하나라는 것이라고만 생각하면 더 복잡하게 정의할 필요는 없어 보입니다. 애초에 문제 지문이라는 게 언제나 수학적으로 빈틈이 없어야만 받아들일 수 있는 것은 아니죠.

adfsfsf   5년 전

그런가요? 수학적으로 빈틈이 있어도 받아들일 수 있는 문제가 있나요?

djm03178   5년 전

당장 이 문제만 해도 모든 게 완벽하게 정의되지는 않았죠.

  1. 주어지는 입력은 10진수로 주어지고, 불필요한 0이나 + 부호 등은 주어지지 않는다는 조건이 있나요? 
  2. 2x1 타일과 2x2 타일의 일부를 잘라내면 안 된다는 조건이 있나요?
  3. 2x1 타일을 옆으로 돌려도 된다는 이야기는 있나요?
  4. 우리가 컵에 물을 채우라고 하면 꼭 100% 넘치기 직전까지 채워야 하는 게 아닌데, 이 문제에서는 왜 똑같이 채운다는 말을 썼는데도 자연스럽게 빈틈없이 메우는 걸로 생각하게 될까요?
  5. 출력할 때 불필요한 0이나, .00000 같은 걸 붙이면 왜 틀릴까요?

이외에도 굳이 따지고 들자면 수많은 구멍들이 있지만 이 정도는 상식적으로 "이것을 의미할 것이다"라는 걸 전제하고 있기 때문에 논란이 되지 않는 것입니다.

adfsfsf   5년 전

그렇군요... 제가 그런 것에 더 익숙해져야겠네요. 설명 감사합니다.

startlink   5년 전

길이가 0인 문자열(빈 문자열)도 문자열 1개라고 치는 것처럼, 이것도 비슷한 경우라 생각하면 될 것 같습니다.

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