반응형
https://www.acmicpc.net/problem/1008
브론즈 문제이지만 이런 문제일 수록 어이없게 틀릴 수가 있다.
문제 조건에는 "실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다." 라는 말이 있다.
즉, 정답과 상관없이 출력되는 값이 10의-9승 까지는 나오는 것이 오차를 줄일 수 있는 방법이다.
문제는 매우 단순하지만 문제의 정답처리 방식때문에 다음과 같이 소스코드를 작성하면 오답이나온다.
#include <iostream>
using namespace std;
int main()
{
double a, b,c;
scanf("%lf %lf", &a, &b);
c = a / b;
printf("%lf", c);
return 0;
}
그러나 다음과 같이 "%lf"를 "%0.9lf"로 수정하여 소수점 9번째자리수까지 출력되게 하면 정답이 인정된다.
#include <iostream>
using namespace std;
int main()
{
double a, b,c;
scanf("%lf %lf", &a, &b);
c = a / b;
printf("%0.9lf", c);
return 0;
}
반응형
'Programming > 알고리즘' 카테고리의 다른 글
[다익스트라] 개념 정리 (0) | 2020.03.14 |
---|---|
[백준 ACM craft] 위상정렬 문제 (0) | 2020.03.08 |
[백준 알파벳] DFS, BackTracking 문제 (0) | 2020.03.01 |
[백준 N과 M(1)] 백트래킹 문제 (0) | 2020.02.29 |
백준 토마토문제 (0) | 2020.02.11 |