1469: 혈중 알콜농도 측정

메모리제한:128 MB 시간제한:1.000 S
Judge Style:Text Compare 만든사람:
제출:94 통과:20

문제 설명

2019년 6월 25일 제2윤창호법이 시행되면서 음주운전 처벌 기준이 강화되었다.

음주운전 했을 시 혈중 알콜 농도 음주운전 처벌
0.03% 미만 pass(통과)
0.03%이상 0.08%미만 stop(면허정지)
0.08% 이상 cancel(면허취소)

위드마크 공식과 시간당 혈중알코올농도 감소량을 이용하면 음주운전을 했을 시 혈중 알코올농도를 계산해 볼 수 있다.

위드마크 공식은 1914년 스웨덴 생화학자 위드마크가 창안하였으며 음주 후 30분이 지난 후의 혈중알코올농도 최고치(C)를 계산할 수 있다.

C = {A ÷ (P × R)} ÷ 10
* C = 혈중알코올농도 최고치(%)
* A = 운전자가 섭취한 알코올의 양 (음주량(㎖)×(술의 도수÷100)×0.7984)
* P = 사람의 체중(㎏)
* R = 성별에 대한 계수 (남자는 0.7 , 여자는 0.6)

혈중알코올농도는 음주 후 30분이 지난 후를 시점으로 경과 시간당 0.015%씩 감소 하므로 음주운전을 했을 시 혈중알코올농도(Ct)를 계산하기 위해서는 혈중알코올농도 최고치(C)에서 경과 시간에 따른 혈중알코올농도를 빼주어야 한다. (Ct = C - 0.015×시간)

 

음주량, 술의 도수, 체중, 성별코드(남:1, 여:2), 경과시간(시간, 분)이 주어졌을 때, 음주운전을 했을 시 혈중알코올농도(Ct)와 기준에 따른 음주운전 처벌(pass/stop/cancel) 을 출력하는 프로그램을 작성하시오.



배정밀도로 인해 실수의 자료형으로 double을 사용하는 것을 추천함.

입력 설명

1. 첫째 행에 음주량, 술의 도수, 체중, 성별코드(남:1, 여:2) 값이 빈칸으로 구분되어 주어진다. 음주량, 술의 도수, 체중은 소수 첫째 자리까지 제시된다. (단, 0.0≤음주량≤10000.0, 0.0≤술의 도수≤100.0, 30.0≤체중≤150.0)

2. 둘째 행에 경과시간(시)을 나타내는 시간, 분 값이 빈칸으로 구분되어 주어진다. (단, 시간의 총합은 30분 이상 100시간 이하로 주어진다.)

출력 설명

1. 혈중알코올농도(Ct)는 소수점 아래 넷째 자리에서 반올림한 값을 소수 셋째 자리까지 출력한다. (예) 2(×) 2.0(×) 2.00(×) 2.000(○) (단, Ct ≥ 0.000)

2. 음주운전을 했을 시 처벌을 빈칸으로 구분하여 출력한다. (단, 처벌기준은 소수 넷째 자리에서 반올림한 값으로 판단한다.)

3. 출력되는 모든 영문자는 반드시 소문자로 출력해야 한다.

입력 예시 Copy

180.0 25.0 60.0 1
2 45

출력 예시 Copy

0.052 stop

도움

예를 들어, 체중 60.0 kg인 성인남자가 25.0도짜리 소주 180.0 ㎖를 마시면 혈중알코올농도 최고치(C)={(180.0×0.25×0.7984)÷(60×0.7)}÷10=0.085542… 가 되고, 음주 후 2시간 45분이 지난 후의 혈중알코올농도 Ct = C-(0.015×2.25) = 0.051792… 가 되므로, (단, 경과시간은 2시간 45분에서 30분을 뺀 2시간 15분을 시간으로 환산하여 2+15÷60=2.25로 계산한다.) 소수 넷째 자리에서 반올림하면 0.052가 되어 처벌기준은 stop이 된다. (단, 처벌기준은 소수 넷째 자리에서 반올림한 값으로 판단한다.)


[입력예시 2]
113.5 15.7 45.7 2
1 17


[출력예시 2]
0.040 stop

출처/분류