做网站套餐,杭州企业网站开发,网站服务器防护,信息化建设 公司网站题意#xff1a;一只吸血鬼#xff0c;有n条路给他走#xff0c;每次他随机走一条路#xff0c;每条路有个限制#xff0c;如果当时这个吸血鬼的攻击力大于等于某个值#xff0c;那么就会花费t天逃出去#xff0c;否则#xff0c;花费1天的时间#xff0c;并且攻击力增…题意一只吸血鬼有n条路给他走每次他随机走一条路每条路有个限制如果当时这个吸血鬼的攻击力大于等于某个值那么就会花费t天逃出去否则花费1天的时间并且攻击力增加问他逃出去的期望 用记忆化搜索做很好理解。 1 #includecstdio2 #includeiostream3 #includealgorithm4 #includecstring5 #includecmath6 #includequeue7 #includemap8 using namespace std;9 #define MOD 1000000007
10 const double eps1e-5;
11 #define cl(a) memset(a,0,sizeof(a))
12 #define sc(a) scanf(%d,a);
13 #define scc(a,b) scanf(%d%d,a,b);
14 #define ts printf(*****\n);
15 const int MAXN200010;
16 int c[110];
17 double dp[MAXN];
18 int n,m,tt;
19 double dfs(int p)
20 {
21 if(dp[p]0) return dp[p];
22 dp[p]0;
23 for(int i0;in;i)
24 {
25 if(pc[i])
26 {
27 double temp(1.0sqrt(5))/2*c[i]*c[i];
28 int t(int)temp;
29 dp[p](double)t/n;
30 }
31 else
32 {
33 dp[p](dfs(pc[i])1)/n;
34 }
35 }
36 return dp[p];
37 }
38 int main()
39 {
40 int i,j,k,f;
41 #ifndef ONLINE_JUDGE
42 freopen(1.in,r,stdin);
43 #endif
44 while(scanf(%d%d,n,f)!EOF)
45 {
46 for(i0;in;i) sc(c[i]);
47 cl(dp);
48 printf(%.3lf\n,dfs(f));
49 }
50 } 转载于:https://www.cnblogs.com/cnblogs321114287/p/4421329.html