SNAIL 문제 -nan 출력 dsj 코드를 작성해 봤는데 -nan으로 답이 출력되는데 어떻게 해결할 수 있나요 .. ~~~ c++ #include #include #include double cache[1005][2005]; int n, m; double count(int days, int sum) { if (days == m) return sum >= n ? 1 : 0; double& ret = cache[days][sum]; if (ret != -1) return ret; return ret = 0.25 * count(days + 1, sum + 1) + 0.75 * count(days + 1, sum + 2); } int main(void) { memset(cache, -1, sizeof(cache)); int C; scanf("%d", &C); for (int tc = 0; tc < C; tc++) { scanf("%d %d", &n, &m); printf("%.10f\n", count(0,0)); } return 0; } ~~~ 9년 전
0개의 댓글이 있습니다. 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
dsj
코드를 작성해 봤는데
-nan으로 답이 출력되는데 어떻게 해결할 수 있나요 ..
~~~ c++
#include
#include
#include
double cache[1005][2005];
int n, m;
double count(int days, int sum)
{
if (days == m)
return sum >= n ? 1 : 0;
double& ret = cache[days][sum];
if (ret != -1)
return ret;
return ret = 0.25 * count(days + 1, sum + 1) + 0.75 * count(days + 1, sum + 2);
}
int main(void)
{
memset(cache, -1, sizeof(cache));
int C;
scanf("%d", &C);
for (int tc = 0; tc < C; tc++)
{
scanf("%d %d", &n, &m);
printf("%.10f\n", count(0,0));
}
return 0;
}
~~~
9년 전