全A了,代码没存。第三题醉汉其实不难的DP,我给个DP部分吧 思路就是你可以选择向前或者向后,所以概率是前一个位置少一步*0.5 + 后一个位置少一步*0.5 double dp[63][61]; // pos, step, 初始化成0 for(int step = 0; step <=60; ++step{ for(int pos = 1; pos <= 61; ++pos) if(step == 0) dp[pos][step] = 1; else { dp[pos][step] = 0.5 * dp[pos + 1][step - 1] + 0.5 * dp[pos - 1][step - 1]; } }