题目链接:Weather Patterns
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<vector>
#include<cmath>
#include<map>
#include<set>
#include<cstdlib>
#define mem(a,b) memset(a,b,sizeof(a))
#define INF 0x7fffffff
typedef long long ll;
using namespace std;
double matrix[5][5];
int main(){
for(int i = 1; i <= 4; i++){
for(int j = 1; j <= 4; j++){
scanf("%lf",&matrix[i][j]);
}
}
int f,t;
char ch;
double ans1 = 1.0,ans2 = 1.0;
scanf("%d",&f);
while(~scanf("%c",&ch)){
if(ch == '\n') break;
scanf("%d",&t);
ans1 *= matrix[f][t];
f = t;
}
scanf("%d",&f);
while(~scanf("%c",&ch)){
if(ch == '\n') break;
scanf("%d",&t);
ans2 *= matrix[f][t];
f = t;
}
int e1,e2;
scanf("%d",&e1);
scanf("%d",&e2);
double rate = matrix[e1][e1];
double ans3 = matrix[e1][e1],ans4 = matrix[e2][e2];
for(double i = 2; i < 10000; i++){
rate = rate * matrix[e1][e1];
ans3 += rate;
}
rate = matrix[e2][e2];
for(double i = 2; i < 10000; i++){
rate = rate * matrix[e2][e2];
ans4 += rate;
}
printf("%.8lf\n%.8lf\n",ans1,ans2);
printf("%.8lf\n%.8lf\n",ans3+1,ans4+1);
return 0;
}