ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
코드는 c++에서 cin, cout 객체의 표준 입출력을 가속합니다.
하지만 thread의 싱크가 unsafe 해지므로 예상하지 못한 순서의 입출력이 나올 수 있습니다.
thread가 여러개인 환경에서는 위험하므로, 만약 현업에서 속도를 위해 사용한다면 printf, scanf,getchar등
c의 표준입출력 함수를 사용하길 바랍니다.
알고리즘 문제의 경우 싱글 스레드를 사용하기 때문에 위 코드를 그냥 써도 문제가 발생하지 않지만
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); 코드 작성후
cin,cout 객체와 printf,scanf를 혼합하여 사용할 경우 예상치 못한 순서로 입출력이 실행될 수 있습니다.
즉 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);를 사용하는경우 cin,cout객체와 c표준입출력을 혼용하지 맙시다!!
'Algorithm' 카테고리의 다른 글
백준 2352번 nlog(n)으로 풀기, LIS 알고리즘의 이해 (longest increasing Subsequence ) (0) | 2020.04.10 |
---|---|
백준 2631 줄세우기 LIS 개념 다이나믹 프로그래밍 (0) | 2020.04.07 |
다이나믹 프로그래밍으로 최적화 하는 DFS, 백준 2253번 점프 (0) | 2020.03.28 |
백준 1525번 퍼즐 BFS 최단,최소 문제. DFS는 힘든이유.. (0) | 2020.03.22 |
백준 16719번 ZOAC로 풀어보는 Brute force DFS 알고리즘 (0) | 2020.03.18 |
댓글