그냥 문제 주어진대로 풀면 잘되는데
걍 stl stack이랑 queue써서 함 해바라
ㄴ 스택 큐는 문제 없는거가틈...질문에 테스트케이스 10개 넘는 글 있었는데 다 돌려봤는데 다 잘나와서.. 시작하자마자 틀리는거보면 edge삽입이라던가 뭔가 놓친거 있을거같은데 예외가 안보임...8ㅅ8
코드열어라
질문은 코드와 함께
https://ideone.com/O3ZiMy여깃습니다 형님!!
아 예외 찾은듯 6 9 11 2 1 3 1 4 1 5 2 3 2 4 4 3 3 6 5 2 이렇게 입력주니까 1 2 3 6... 이렇게 탐색해야하는데 결과가 1 2 3 4임
그냥 논리를 잘못짠듯 다시고쳐야겠다....ㅈㅅㅈㅅ
아 저거 잘못됨 뭔가 복사를 잘못해서 날라갔네;; 쨋든 먼가 논리가 잘못된거가틈..
그냥 STL stack 쓰면 안됨?
왜 굳이 잘만든거 냅두고 만들어서써
MAX 선언할때 이제 const 말고 constexpr 로 하면 더 확실함
단 C++14 기능이라는 점
아 staque네... 이건 deque라고 함
덱이라고 부르고 stack과 queue의 기능을 둘 다 사용할 수 있음.. 인터페이스는 vector와 비슷함 (e.g. push_front, pop_front, push_back, ...)
손으로 manual하게 짤 때는 나눗셈 속도 생각해서 2의 지수승으로 크기를 맞춰주는게 좋음
그리고 edge 넣을 때 이분탐색 쓴건 좋은데 이렇게 해도 시간복잡도는 O(E^2) 임
아니겠다.. 중복 엣지는 또 들어가지 않으니 괜찮을듯. O(N^2) 이면 시간 내에 나오고
vertex[v].size() - 1 이 부분이 문제 아닐까? size가 0일때는 어떻게 됨?
at 은 굳이 안쓰는게 좋음. 배열의 범위를 넘어가지 않을게 확실하니까 그냥 [] 써도 무방
이분탐색 할 때 int mid = (left + right) / 2 나 mid = left + (right - left) / 2로 하면 깔끔하게 가능
if (v <= n)은 굳이 필요없을듯. 이건 문제에 주어진 조건이라
ㄴ ㅇㅎ constexqr이라고 따로있구나.. 그리고 STL은 처음에 써봤을때 pop하니까 반환을 안해줘서...ㅋㅋ 반환해주는 메소드 알았을땐 이미 구현한상태라 바꾸기 귀찮아서 냅뒀음..ㅎ
ㄴ 그 사이즈-1은 0이상일때만이라 알아서 빠져나와서 괜춘할듯?? 글고 벡터 []로 접근되는거 몰랐슴..ㅋㅋ 이분탐색도 알려줘서 ㄱㅅㄱㅅ
아니... size()는 unsigned형이잖아
-1 하면 어떻게 되겠어
컴파일러가 분명히 말해줬을 텐데... signed랑 unsigned 비교하면 경고해주지 않음?
아 그럼 최대값되나??
그 빨간거 안뜨면 워닝은 무시해서..ㅋㅋ
팁) 워닝도 지워주는게 좋다
강제로 int로 캐스팅 하면 괜찮을거같은데
음... int로 캐스팅하고 제출해보니까 틀렸슴다 나오네여... 으어 바로 틀리는 이유가 뭐지 %도 안올라가네 ㅠ
저거 로직 이상함
흑...그냥 싹다 지우고 처음부터 푸는게 나을듯
너무 지저분하네
답변해줘서 고마워
그냥 문제 주어진대로 풀면 잘되는데
걍 stl stack이랑 queue써서 함 해바라
ㄴ 스택 큐는 문제 없는거가틈...질문에 테스트케이스 10개 넘는 글 있었는데 다 돌려봤는데 다 잘나와서.. 시작하자마자 틀리는거보면 edge삽입이라던가 뭔가 놓친거 있을거같은데 예외가 안보임...8ㅅ8
코드열어라
질문은 코드와 함께
https://ideone.com/O3ZiMy
여깃습니다 형님!!
아 예외 찾은듯 6 9 11 2 1 3 1 4 1 5 2 3 2 4 4 3 3 6 5 2 이렇게 입력주니까 1 2 3 6... 이렇게 탐색해야하는데 결과가 1 2 3 4임
그냥 논리를 잘못짠듯 다시고쳐야겠다....ㅈㅅㅈㅅ
아 저거 잘못됨 뭔가 복사를 잘못해서 날라갔네;; 쨋든 먼가 논리가 잘못된거가틈..
그냥 STL stack 쓰면 안됨?
왜 굳이 잘만든거 냅두고 만들어서써
MAX 선언할때 이제 const 말고 constexpr 로 하면 더 확실함
단 C++14 기능이라는 점
아 staque네... 이건 deque라고 함
덱이라고 부르고 stack과 queue의 기능을 둘 다 사용할 수 있음.. 인터페이스는 vector와 비슷함 (e.g. push_front, pop_front, push_back, ...)
손으로 manual하게 짤 때는 나눗셈 속도 생각해서 2의 지수승으로 크기를 맞춰주는게 좋음
그리고 edge 넣을 때 이분탐색 쓴건 좋은데 이렇게 해도 시간복잡도는 O(E^2) 임
아니겠다.. 중복 엣지는 또 들어가지 않으니 괜찮을듯. O(N^2) 이면 시간 내에 나오고
vertex[v].size() - 1 이 부분이 문제 아닐까? size가 0일때는 어떻게 됨?
at 은 굳이 안쓰는게 좋음. 배열의 범위를 넘어가지 않을게 확실하니까 그냥 [] 써도 무방
이분탐색 할 때 int mid = (left + right) / 2 나 mid = left + (right - left) / 2로 하면 깔끔하게 가능
if (v <= n)은 굳이 필요없을듯. 이건 문제에 주어진 조건이라
ㄴ ㅇㅎ constexqr이라고 따로있구나.. 그리고 STL은 처음에 써봤을때 pop하니까 반환을 안해줘서...ㅋㅋ 반환해주는 메소드 알았을땐 이미 구현한상태라 바꾸기 귀찮아서 냅뒀음..ㅎ
ㄴ 그 사이즈-1은 0이상일때만이라 알아서 빠져나와서 괜춘할듯?? 글고 벡터 []로 접근되는거 몰랐슴..ㅋㅋ 이분탐색도 알려줘서 ㄱㅅㄱㅅ
아니... size()는 unsigned형이잖아
-1 하면 어떻게 되겠어
컴파일러가 분명히 말해줬을 텐데... signed랑 unsigned 비교하면 경고해주지 않음?
아 그럼 최대값되나??
그 빨간거 안뜨면 워닝은 무시해서..ㅋㅋ
팁) 워닝도 지워주는게 좋다
강제로 int로 캐스팅 하면 괜찮을거같은데
음... int로 캐스팅하고 제출해보니까 틀렸슴다 나오네여... 으어 바로 틀리는 이유가 뭐지 %도 안올라가네 ㅠ
저거 로직 이상함
흑...그냥 싹다 지우고 처음부터 푸는게 나을듯
너무 지저분하네
답변해줘서 고마워