Baekjoon Online Judge 의 경우
BOJ 는 아래 링크에서 채점 관련된 도움말 페이지를 볼 수 있다https://www.acmicpc.net/help/judge
많은 좋은 내용들 중에서 compile option 을 확인할 수가 있는데,
요런 식으로 활용할 수 있다
개발 환경에 따른 Compile 옵션 활용하기
Microsoft Visual Studio 2015 버전(?)부터 gets() 는 지원하지 않고, gets_s() 함수를 지원하기 때문에 아래와 같이 활용할 수가 있다예를 들어,
13163번: 닉네임에 갓 붙이기(https://www.acmicpc.net/problem/13163)는 한 줄씩 입력을 처리하면 간단하게 코드를 만술 수 있는데, Visual Studio 에서는 gets() 를 쓸 수 없기 때문에 채점 사이트의 compile option 을 확인해서 처리할 수 있다
* C 계열 compile 옵션에서 볼 수 있는 -DONLINE_JUDGE 의 의미는 소스 코드의 상단에 #define ONLINE_JUDGE 를 선언한 것과 동일한 의미
for (int i = 0; i < N; i++) {
#ifndef ONLINE_JUDGE
gets_s(name); // 내가 개발하는 환경에서 gets() 를 쓸 수 없는 경우(예, Windows + Visual Studio 환경)
#else
gets(name); // 채점 서버에서 Compile 되는 경우
#endif
UVa Online Judge 의 경우
문제 제출시 확인이 가능하고, ONLINE_JUDGE 가 사용되는 것을 볼 수 있다
ANSI C 5.3.0 - GNU C Compiler with options: -lm -lcrypt -O2 -pipe -ansi -DONLINE_JUDGE
C++ 5.3.0 - GNU C++ Compiler with options: -lm -lcrypt -O2 -pipe -DONLINE_JUDGE
C++11 5.3.0 - GNU C++ Compiler with options: -lm -lcrypt -O2 -std=c++11 -pipe -DONLINE_JUDGE
!! 이런 꿀팁을... 감사합니다 ㄷㄷ
답글삭제: )
삭제