HDU - 4815 Little Tiger vs. Deep Monkey
제목의 대의: A, B 두 사람이 있고 n개의 문제가 있는데 매 문제에 대응하는 점수가 있다. B가 문제를 맞힐 확률은 0.5이다. A를 구하면 B에게 지지 않을 확률은 P가 받아야 할 최저 점수보다 적지 않다.
문제풀이 방향:DP,dp[i][j]는 B가 앞의 i문제를 맞힌 후 점수가 j일 확률을 나타낸다. 그리고 B의 확률로 A의 최저 점수를 구한다.
#include <cstdio>
#include <cstring>
double DP[45][40005];
int main() {
int T;
scanf("%d", &T);
while (T--) {
int N, MAX, tmp;
double P;
scanf("%d%lf", &N, &P);
memset(DP, 0, sizeof(DP));
DP[0][0] = 1;
MAX = 0;
for (int i = 0; i < N; i++) {
scanf("%d", &tmp);
for (int j = 0; j <= MAX; j++)
if (DP[i][j] > 0) {
DP[i + 1][j] += DP[i][j] * 0.5;
DP[i + 1][j + tmp] += DP[i][j] * 0.5;
}
MAX += tmp;
}
double sum = 0;
for (int j = 0; j <= MAX; j++) {
sum += DP[N][j];
if (sum >= P) {
printf("%d
", j);
break;
}
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.