kengh2472   5년 전

친구들 이름을 입력받을 때

  1. string으로 선언하여 cin으로 입력
  2. char a[21] 문자열로 선언하여 scanf로 입력

제출시에 계속 시간초과가 나서 혹시나 하는 마음에 scanf로 바꾸었더니 통과하였습니다. 다른 질문글들중에서 scanf와 cin의 시간차이가 난다는 경우는 들었지만 이번에 처음 당해본터라 어떤 경우에 cin을 쓰면 위험한지 알고싶네요..  N이 10만정도면 위험한가요?? 저는 map에 추가할 때 시간이 초과나는줄 알았습니다..

djm03178   5년 전

cin은 cout에 기본적으로 묶여 있어, cin을 수행할 때마다 자동으로 cout을 flush시킵니다. cout과 printf는 기본적으로 동기화되어있는 상태이므로 역시 마찬가지입니다. 반면에 scanf는 그런 것이 없습니다.

kengh2472   5년 전

설명 감사합니다~ 처음 알았네요

seico75   5년 전

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

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

이 두개의 글을 참고하시면 좋을 것 같습니다.

cin 도 몇가지만 셋팅을 하면 scanf / printf 에 못지 않는 속도가 나온다고 하네요..

kengh2472   5년 전

감사합니다 숙지하고 있을게요!

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