상세 컨텐츠

본문 제목

c++ cin, cout 왜 시간초과?

알고리즘/C++

by 셉인 2023. 7. 19. 22:50

본문

728x90

시간 초과 날 일이 없는데 시간초과가 났다.. 

왜 났을까?

 

근데 해결법을 보니깐 scanf랑 printf를 쓰면 된다고 한다

근데 또 c++을 쓰는데 그걸 쓰면 무의미해진다고 생각했다.. 

 

그러던 중 스터디에서 코드 넣었던게 생각이 났고 그걸 쓰니깐 시간초과가 해결됐다.

ios_base::sync_with_stdio(false); 
cin.tie(nullptr); 
cout.tie(nullptr);

이 코드이다.

일반적으로 #include <iostream> 에서 scanf, printf, cin, cout을 다 지원하는데 std인 cin, cout은 scnaf, printf보다 속도가 느리다 그래서 그냥 시간초과가 날 수 있다. 그런데 저 코드를 넣으면 scanf, printf를 못쓰는 대신 cin, cout이 scanf,printf보다 속도가 빠르게 바껴 cin, cout을 써도 시간초과가 나지 않는다. 

 

이를 유의해서 코드를 작성해야하며, c++로 알고리즘 짜는 사람에겐 필수적인 요소인 것이라고 할 수 있다.

728x90

관련글 더보기

댓글 영역