※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 25197번 문제인 합주단 곰곰이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/25197
25197번: 합주단 곰곰
합주단원의 수 $N$ ($2 \le N \le 1\ 000$), 곰곰이 연주할 수 있는 음의 개수 $K$ ($1 \le K \le 1\ 000$)가 차례로 주어진다.
www.acmicpc.net
먼저, N마리의 곰곰이 각자 K개의 음중 하나를 선택하는 경우의 수는 K^N과 같다.
이중, 곰곰이 A와 곰곰이 B가 같은 음을 선택하는 경우의 수는 (K^(N-1))가지 있다.
따라서 곰곰이 A와 곰곰이 B의 쌍에 의해 추가될 식사횟수의 기댓값은 1/K와 같다.
기댓값의 선형성을 이용하면, 곰곰이 A와 곰곰이 B의 쌍은 N*(N-1)/2가지 있으므로 전체 식사횟수의 기댓값은 (N*(N-1)/2) / K와 같이 계산할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout << fixed;
cout.precision(10);
int N, K; cin >> N >> K;
cout << ((double)(N * (N - 1) / 2)) / K;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 25196 // C++] 숲속에서 새 구경하기 (0) | 2022.05.15 |
---|---|
[BOJ 25201 // C++] 보드 뒤집기 게임 (0) | 2022.05.15 |
[BOJ 25198 // C++] 곰곰이의 심부름 (0) | 2022.05.15 |
[BOJ 25192 // C++] 인사성 밝은 곰곰이 (0) | 2022.05.15 |
[BOJ 25199 // C++] 도박사 곰곰 (0) | 2022.05.15 |