fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 26523 (C++) 균등분포와 정규분포
최초 업로드: 2025-10-18 13:53:05
최근 수정 시간: 2025-10-18 13:53:05
게시자: rlatjwls3333
카테고리: 백준
조회수: 9
# [Silver I] 균등분포와 정규분포 [문제 링크](https://www.acmicpc.net/problem/26523) ## 문제 설명 <p>다음 중 하나의 방법으로 만들어진 크기 $n$의 표본이 주어졌을 때, 어느 방법으로 만들어졌는지 알아내시오.</p> <ul> <li>방법 A: 균등 분포 $U(0, 1)$에서 크기 $n$의 표본을 뽑는다.</li> <li>방법 B: 정규 분포 $N(0.5, 0.1)$에서 관측값 하나를 뽑고, 이 값이 $0$ 이상 $1$ 이하이면 표본에 넣는다. 이를 표본의 크기가 $n$이 될 때까지 반복한다. 이때, 0.1은 이 분포의 분산이다.</li> </ul> <p>다음은 두 분포의 확률밀도함수를 나타내는 그림이다.</p> <p style="text-align: center;"><img alt="" src="https://upload.acmicpc.net/8e3cd20e-81ef-4dd3-b71a-252031e5a411/-/preview/" style="height: 525px; width: 700px;"></p> ## 입력 <p>각 데이터는 정확히 100개의 테스트케이스로 이루어져 있다. 각 테스트케이스에 대해, 표본의 관측값 $n$개가 한 줄에 하나씩 주어진다. 표본의 각 관측값은 반올림하여 소수점 아래 4번째 자리까지 주어진다.</p> <p>모든 테스트케이스는 위에서 서술한 방법 중 하나를 통해 만들어졌으며, $n = 5\,000$이다. $n$의 값이 입력으로 주어지지 않음에 유의하라.</p> <p>채점에 사용되는 입출력 데이터 파일은 정확히 10쌍이다.</p> ## 출력 <p>각 테스트케이스마다 한 줄에 하나씩, 표본이 방법 A로 만들어졌으면 <span style="color:#e74c3c;"><code>A</code></span>를, 방법 B로 만들어졌으면 <span style="color:#e74c3c;"><code>B</code></span>를 출력한다.</p> <p>모든 데이터에서 99개 이상의 테스트케이스에 대해 정답을 출력해야 한다.</p> ## 풀이 0.1 이하인 개수가 15배해서 5000 이상이 되는지 확인하였습니다. ``` c++ #include<bits/stdc++.h> using namespace std; typedef long double ld; int main() { ios::sync_with_stdio(0); cin.tie(0); for(int t=0;t<100;t++) { int cnt=0; for(int i=0;i<5000;i++) { ld in; cin >> in; if(in<=0.1) cnt++; } cout << (cnt*15>=5000 ? "A\n" : "B\n"); } } ```