/ Randle /

记录详情

Accepted


  
# 状态 耗时 内存占用
#1 Accepted 3ms 320.0 KiB
#2 Accepted 2ms 308.0 KiB
#3 Accepted 2ms 308.0 KiB
#4 Accepted 1ms 324.0 KiB
#5 Accepted 1ms 316.0 KiB
#6 Accepted 1ms 308.0 KiB
#7 Accepted 1ms 312.0 KiB
#8 Accepted 1ms 312.0 KiB
#9 Accepted 1ms 312.0 KiB
#10 Accepted 1ms 316.0 KiB

代码

#include<cstdio>
#include<cmath>
using namespace std;
double k[40]={0},f[40][40]={0};
int cnt=0,n,m,i,j,v[40],p[40];
int ss(int t,double l,int s,int q)
{
	if(s>=m)return 0;
	if(t==n+1)
	{
		if(s<m)f[n][q]-=l;
		return 0;
	}
	ss(t+1,l*p[t]/100.0,s+v[t],q);
	ss(t+1,l*(100-p[t])/100.0,s,q+1);
	return 0;
}
int main()
{
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++)
		scanf("%d%d",&v[i],&p[i]);
	f[1][0]=p[1]/100.0;
	f[1][1]=(100-p[1])/100.0;
	for(i=2;i<=n;i++)
		for(j=0;j<=i;j++)
		{
			if(j)f[i][j]+=f[i-1][j-1]*(100-p[i])/100.0;
			f[i][j]+=f[i-1][j]*(p[i]/100.0);
		}
	ss(1,1,0,0);	
	for(i=0;i<=n;i++)
	printf("%.3lf\n",f[n][i]);
	return 0;
}

信息

递交者
类型
递交
题目
钻石 T3
题目数据
下载
语言
C++
递交时间
2017-10-05 14:47:03
评测时间
2017-10-05 20:17:03
评测机
分数
100
总耗时
21ms
峰值内存
324.0 KiB