pch1623   4년 전

반례를 찾고싶습니다.....

혼자 찾으려고해봤는데 잘안되네요 ㅠㅠ

solarmagic   4년 전

2 2 3
2
0 10
1 10

정답: 5

그리고 범위도 int형을 초과합니다.

pch1623   4년 전

코드를 이런식으로 수정해보았습니다 ... 조언좀 부탁드릴꼐요 

solarmagic   4년 전

우선 밑에 있는 글을 정독해주셨으면 좋겠습니다.

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

질문자분께서 작성하신 코드를 보면 전체 상자의 크기의 한변 보다 작거나 같은 큐브들중 가장 큰 큐브부터 채워가면서 상자의 부피를 줄여나가는 방식, 그리고 그러다 0이하가 되면 답 또는 -1을 출력하는 방식을 사용한것 같습니다.

그런데 남은 상자의 부피가  큐브의 부피 보다 크다고 그 큐브를 넣을 수 있을까요?
다음과 같은 경우에 안 된다는 것을 파악할 수 있습니다.

2 3 3 

2

0 10

1 10


실제로 상자의 부피는 18이지만, 2*2*2 큐브를 2개 넣지 못하죠. (원래 답은 11, 질문자님 코드는 4를 출력)

혹시 잘 안된다 싶으면 내가 구현하려는 방식이 정말로 논리적으로 타당한지 생각해 볼필요가 있습니다.

또한 double형 보다는 long long형을 이용하는 것을 추천드립니다. 

pch1623   4년 전

네 좋은 조언 감사합니다.. 

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