본문 바로가기
CP, PS/토막지식

PS관련 토막 지식 - EOF

by 리나그(ReenAG) 2021. 7. 19.
728x90
반응형

참고 스택 오버플로우 :

https://stackoverflow.com/questions/3764014/how-do-you-read-scanf-until-eof-in-c

 

How do you read scanf until EOF in C?

I have this but once it reaches the supposed EOF it just repeats the loop and scanf again. int main(void) { char words[16]; while(scanf("%15s", words) == 1) printf("%s\...

stackoverflow.com

문제를 풀 때 보통은 처음에 n을 주어 몇개의 테스트케이스가 주어질 것인지를 정해서 input에 굳이 신경쓸 필요가 없을 때가 많다. 하지만 그렇지 않고 단순히 테스트케이스만 불편하게 주는 경우도 분명히 있다. 백준에서 그런 문제를 만나면 빡치는데, 여기에 간단하게 그 해법을 적어놓으려고 한다.

 

EOF가 입력되었는지 C에서 아는 방법이다.

int main(){
	int n;
	while(scanf("%d", &n) != EOF){
              //이렇게하면 EOF가 입력되었는지를 감지하고 바로 프로그램을 끌수 있다
	}
}

예제로 백준의 1793번을 풀어보자. (단, DP / 큰수 연산이 가능하다면)

https://www.acmicpc.net/problem/1793

 

1793번: 타일링

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 숫자 0 ≤ n ≤ 250이 주어진다. 

www.acmicpc.net

 

728x90
반응형