Submission #15800

#TimeUsernameProblemLanguageResultExecution timeMemory
15800didw맛있는 과자 (kriii3_A)C++98
0 / 33
0 ms1828 KiB
#include <iostream> #include <cstdio> #include <cmath> using namespace std; double rs, rb; double solve(double S0, int n, long long k) { if (n == 0) return log(S0); // k가 전체 과자 개수보다 크다면 작은 과자조각으로 반환 if (k >= (1<<n)) { return solve(S0*rs, n-1, k/2); } // 아니면 큰 조각으로 반환 return solve(S0*rb, n-1, k); } int main() { long long a, b, n, k; cin >> a >> b >> n >> k; if (a > b) swap(a, b); rs = (double)a*a / (double)(a*a + b*b); rb = (double)b*b / (double)(a*a + b*b); double S0 = a*b / 2.0; printf("%.12f\n", solve(S0, n, k)); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...