NC13333. 配对游戏
描述
输入描述
一行一个正整数 n (1 ≤ n ≤ 2000)。
输出描述
一行一个实数,表示剩下人数的期望值,四舍五入保留三位小数。
示例1
输入:
10
输出:
4.168
C++ 解法, 执行用时: 4ms, 内存消耗: 408K, 提交时间: 2021-12-03 19:08:47
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; double d[2021]; d[0]=0;d[1]=1;d[2]=1.5; for(int i=3;i<=n;++i) d[i]=(d[i-1]*(i+1)-d[i-3]*(i-2)+d[i-2]*(i-3))/i; cout<<fixed<<setprecision(3)<<d[n]; }
Python3 解法, 执行用时: 44ms, 内存消耗: 4644K, 提交时间: 2023-04-03 19:32:29
n = int(input()) d=[0 for x in range(n+3)] d[0] = 0 d[1] = 1 d[2] = 1.5 d[3] = 2 for i in range(4,n+1): d[i] = (d[i-1]*(i+1) + d[i-2]*(i-3)-d[i-3]*(i-2))/i print('%.3f'%d[n])