만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

백신 효능

면접 대비

시간 제한1초메모리 제한1024 MB

요약
N명의 참가자 각각에 대해 백신 접종 여부와 A, B, C 세 균주의 감염 여부가 주어질 때, 각 균주별 감염률 감소율을 백신 효능으로 계산하고 효능이 없으면 Not Effective를 출력한다.
난이도

쉬움10점 중 3점

유형
구현, 수학, 배열
정답자
아직 제출이 없습니다

문제

어떤 질병에 대한 백신의 효능을 알아내려면 임상 시험이 필요하다. 참가자 일부에게는 진짜 백신을 투여하고, 나머지에게는 대조군으로 위약을 투여한다. 참가자들을 추적 관찰하여 세 가지 바이러스 변이(A, B, C)에 감염되었는지 확인한다. 특정 변이에 대한 감염에 대한 백신의 효능은 대조군에 비해 백신군의 감염률이 얼마나 줄었는지를 백분율로 나타낸 값이다.

예를 들어 백신군에 4040명이 있고 그중 88명이 변이 B에 감염되었다고 하자. 그러면 감염률은 2020%이다. 대조군에 5050명이 있고 그중 3030명이 변이 B에 감염되었다고 하자. 그러면 대조군의 감염률은 6060%이다. 따라서 감염에 대한 백신 효능은 약 66.6766.67%이다(2020%는 6060%의 66.6766.67% 감소이므로). 특정 변이에 대한 백신군의 감염률이 대조군보다 낮지 않다면, 백신은 그 변이에 대한 감염에 효과가 없다.

세 변이에 대한 감염에 대한 백신 효능은 각각 얼마인가?

입력

첫째 줄에 임상 시험 참가자 수 NN(2≤N≤10 0002 \leq N \leq 10\,000)이 주어진다.

다음 NN개의 줄은 참가자들을 나타낸다. 각 줄에는 길이가 넷인 문자열이 주어진다. 각 문자는 'Y' 또는 'N'이다. 첫 번째 문자는 그 참가자가 진짜 백신을 맞았는지 여부를, 나머지 세 문자는 각각 변이 A, B, C에 감염되었는지 여부를 나타낸다.

백신군과 대조군에는 각각 한 명 이상의 참가자가 있다. 대조군에는 각 변이에 감염된 참가자가 한 명 이상 있다(단, 서로 다른 참가자일 수 있다).

출력

변이 A, B, C에 대한 감염에 대한 백신 효능을 그 순서대로 출력한다. 특정 변이에 대한 감염에 백신이 효과가 없다면, 그 변이에 대해서는 대신 Not Effective를 출력한다. 절대 오차 또는 상대 오차가 10−210^{-2} 이하인 답은 정답으로 인정된다.

예제2

  1. 예제 1

    입력
    10
    NYNY
    NNYY
    NYYY
    NYYN
    NNNY
    YYNN
    YYYN
    YYNY
    YYNN
    YYNY
    
    예상 출력
    Not Effective
    66.666667
    50.000000
    
  2. 예제 2

    입력
    8
    NYYY
    NYYY
    NYYY
    NYYY
    YNNN
    YNNN
    YNNN
    YNNN
    
    예상 출력
    100.000000
    100.000000
    100.000000