eric00513   1년 전

15649번에서 제 소스를 채점하면 통과하는데, 실행해서 "8 8" 을 입력하면 뭐 실행 시간이 1분도 넘게 걸립니다. (거의 2분) 그래서 n과 m의 범위를 1<=n, m<=5 로 수정하던지, 아니면 시간을 2초 주시고, 1<=n, m<=6 으로 해야 합니다. 1<=n, m<=8이면 채점하는데 몇 분을 기다려야 합니다.

15651번에서 제 소스를 채점하면 통과합니다. 이 문제는 시간을 2초 늘리는게 맞다고 생각합니다.

N과 M(5)는 15649번과 유형이 같으므로 생략하는데, 수정해야 할 내용은 같습니다.

cubelover   1년 전

15649번 소스를 제 컴퓨터에서 실행해서 8 8을 입력해 보았는데 제 컴퓨터에선 0.07초밖에 안 걸립니다. 코드상으로도 1분을 넘어갈 일은 없어 보입니다.

혹시 실행 환경이 이상한 것은 아닌가요? 콘솔에서 입출력을 하면 콘솔에 출력되는 시간 때문에 오래 걸릴 가능성이 있습니다.

또한 n이 8이고 m이 8인 데이터가 존재합니다. 엄연히 데이터가 존재하는 상황에서 제한을 줄여 버리는 것은 옳지 않습니다.

15651번의 시간 제한을 늘려야 하는 이유는 어째서인가요? 잘 짠 코드로 시간 내에 잘 통과했는데 말입니다.

Green55   1년 전

1초 내로 통과 했으니까 맞았습니다가 뜨지 않았을까요?

실제로 이 문제에서는 N=8 M=8인 인풋도 존재 합니다.

jh05013   1년 전

데이터가 이상하다고 생각되시면 꼭 assert를 넣어서 확인하세요. 대부분은 데이터 탓이 아닙니다.

eric00513   1년 전

앗. 전 CodeBlocks사용하다 Dev-C++ 사용하는데, 사실 15649번에서 총 8! (=5040*8) 줄을 출력해야하는데, 시간초과가 나야 하는것 아닐까요?

Green55   1년 전

https://www.acmicpc.net/blog/v...

여기 나온것 처럼, BOJ에서 printf로 10,000,000개의 정수를 찍어내는데 1초도 걸리지 않습니다.

위에 cubelover님이 말씀하신것 처럼, 콘솔에서 실행하는것과는 다릅니다.

eric00513   1년 전

아.그렇군요.. 정말 감사합니다 궁금증 해결 완료!

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