jerryprk   5년 전

채점을엄청느리게했습니다

string이 기본적으로 시간엄청잡아먹는데 원래는 시간초과 될법한 코드인가요?

seico75   5년 전

in 을 만들때, in 에서 order 를 만들때, 그리고 push 할때 string 복사가 이루어질 것 같습니다.

이것을 아래와 같이 줄이면 4초대로 들어갈 수 있을 것 같고

        int v;
        v = D(out.value);
        if (check[v] == false) {
            check[v] = true;
            q.push( { v, out.order + "D");
        }

여기에서 정답(B) 이 나왔는지를 queue 에 넣기 전에 (위의 push 전정도)에 4번 넣으면 2초대..

string 복사를 빼면 1초미만이 나올 것 같습니다.

jerryprk   5년 전

아아 시간이 걸리는 이유가 string복사때문이고

그 문장자체들을 간략하거나 직접적으로 push해주는거군요! 감사합니다

시간을신경써본적이 없어서 무지한게 죄인것같네요

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