17ICPC南宁网络赛 A 概率论+阅读理解

槽点爆炸的网络赛= =


A题意:天气有4种状态1 2 3 4,先给一个矩阵,aij代表前一天的状态是i的前提下今天状态是j的概率

现在给出两个天气状态表O1 O2 和ii jj 

第一行输出 O1发生的概率

第二行输出 O2发生的概率

第三行输出连续N天是状态ii的期望 N趋于无穷

第四行输出连续N天是状态jj的期望 N趋于无穷


思路:第一行条件概率直接乘就好了

举个例子:O1:4 3 3 2 1 4 5

ans1=a43*a33*a32*a21*a14*a45


第三行就是等比数列的极限1/(1-p)


PS:输入有毒


	for(int i=1; i<=4; i++)
	{
		for(int j=1; j<=4; j++)
		{
			scanf("%lf",&a[i][j]);
		}
	}
	int num1=0;
	scanf("%d",&s1[num1++]);
	while(getchar()!='\n')
	{
		scanf("%d",&s1[num1++]);
	}
	int num2=0;
	scanf("%d",&s2[num2++]);
	while(getchar()!='\n')
	{
		scanf("%d",&s2[num2++]);
	}

	int ii;
	int jj;
	scanf("%d %d",&ii,&jj);
	double ans1=1.0;
	double ans2=1.0;
	double ans3=0.0;
	double ans4=0.0;
	for(int i=1;i<num1;i++)
	{
		ans1*=a[s1[i-1]][s1[i]];
	}
	for(int i=1;i<num2;i++)
	{
		ans2*=a[s2[i-1]][s2[i]];
	}
	ans3=1.0/(1.0-a[ii][ii]);
	ans4=1.0/(1.0-a[jj][jj]);
	printf("%.8lf\n",ans1);
	printf("%.8lf\n",ans2);
	printf("%.8lf\n",ans3);
	printf("%.8lf\n",ans4);





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值