백준 알고리즘
[백준][C++] 15552번 : 빠른 A+B
탱글한푸딩
2023. 7. 5. 10:55
반응형
문제
https://www.acmicpc.net/problem/15552
15552번: 빠른 A+B
첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.
www.acmicpc.net
코드
#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int T, A, B;
cin >> T;
for (int i = 0; i < T; i++)
{
cin >> A >> B;
cout << A + B << '\n';
}
return 0;
}
풀이
ios_base::sync_with_stdio(false);
ios_base::sync_with_stdio(false) : C의 stdio와 C++의 iostream의 동기화를 비활성화한다.
(기본적으로 동기화 상태)
위의 코드로 인해 C++만의 독립적인 버퍼가 생성되어 C 버퍼와 병행사용은 불가능하지만 속도가 증가한다.
(cin과 scanf를 같이 사용 불가)
cin.tie(NULL);
cin.tie(NULL) : 입력과 출력의 연결을 끊어준다. (기본적으로 cin과 cout은 묶여있다)
예를들어 아래 코드가 있다면
cout << "입력";
cin >> N;
원래는 "입력"이 출력된 후 N을 입력하는데 cin.tie(NULL)코드를 작성하면 "입력"이 출력
되기 전에 N을 입력한다.
알고리즘 문제풀이에선 딱히 문제되지않고 입출력 시간을 절약할 수 있기에 사용해도 될거같은데
실제로는 별로 사용하지 않을 것 같다는 개인적인 생각을 해본다.
반응형