백준 알고리즘

[백준][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을 입력한다.

 

알고리즘 문제풀이에선 딱히 문제되지않고 입출력 시간을 절약할 수 있기에 사용해도 될거같은데

실제로는 별로 사용하지 않을 것 같다는 개인적인 생각을 해본다.

반응형