shady   5년 전

안녕하세요.

분명히 코드에 문제가 없는 것 같은데 채점을 하면, 경과도 안 뜨고 바로 "틀렸습니다"가 나와서

슬슬 혈압이 오르던 차에, ios::sync_with_stdio(false); cin.tie(NULL); 이 코드를 빼먹었더군요.

속도 때문에 사용하는 것으로 알고 있어서, 쓸 때도 있고 안 쓸 때도 있는데

혹시나 해서 코드를 넣으니까 "맞습니다!!"가 뜨네요??

속도가 느려서 시간 문제였다면 "시간 초과"가 떠야 하는 게 아닌가, 라는 생각이 드는데..

ios::sync_with_stdio(false); cin.tie(NULL); 때문에 답/오답이 갈리는 이유가 궁금합니다!

답을 주시면 정말 감사하겠습니다!

jh05013   5년 전

이걸 그대로 제출했는데 맞았습니다가 나왔습니다.

shady   5년 전

//jh05013 

예???? 다시 한 번 확인하고 오겠습니다


shady   5년 전

확인하고 왔습니다!!

map의 인덱스를 기존에 26에서 30으로 바꾸니까 맞다고 나오네요!!

이것저것 만지다가 바뀐 줄도 몰랐습니다.

!!!추가 질문있습니다!!!

문제에서 N의 범위는 2 <= N <= 25인데요.

저는 문제 풀 때, 시작 인덱스를 1로 하는 게 편해서 map의 크기를 map[26][26]으로 잡았습니다.

왜 근데 오류가 났을까요????

jh05013   5년 전

사실 이 코드도 별로 안전하지 않고 단순히 운이 좋아서 맞은 것 같습니다. ww나 hh가 범위를 벗어날 수 있고, arr의 길이는 널문자를 포함하여 최대 26이어야 합니다.

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