槽点爆炸的网络赛= =
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);