알고리즘/백준[BOJ] 오답노트

C++cin/cout 시간초과 해결 - 백준 알고리즘 오답노트 10815

플라즈밍 2019. 2. 2. 21:50
반응형


백준 BOJ 알고리즘 오답노트 - 10815 번



문제중에서 cin과 cout을 번갈아 사용하는 경우 상당히 성능에 문제가 보인다.

다음과 같은 방법으로 cin 과 cout을 사용하자.


ios_base :: sync_with_stdio(false);

cin.tie(NULL);

cout.tie(NULL);


을 main 다음에 그리고 cin,cout을 쓰기전에 써준다.



다른방법으로는 애초에

printf와 scanf을 사용하면 문제는 해결된다.






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//10815 // 애초에 scanf와 printf을 쓰면됨
 
#include<cstdio>
#include<set>
#include<algorithm>
using namespace std;
int main(){
        //cin.tie(NULL);
        int cases1; //cin>> cases1; 
        scanf("%d",&cases1);
        set<int> card;
        while(cases1--){ int val; scanf("%d",&val); card.insert(val);}
        int cases2; 
        scanf("%d",&cases2);
        while(cases2--){
            int val; scanf("%d",&val);
            printf("%d ",card.count(val)); //cout<< <<" ";
        }
    
}
 
//FB1. cin과 cout을 계속 번갈아 쓰면 매번 flush발생 -> cin.tie(NULL); 써주기
cs


반응형