code
```cpp
const int N=55;
const int M=1005;
#define ld long double
ld p[N],a[N][N],b[N][N];
int o[M];
ld dp[M][N];
int main()
{
int n,m,q;
scanf("%d%d%d",&n,&m,&q);
F(i,1,n) scanf("%Lf",&p[i]);
F(i,1,n) F(j,1,q) scanf("%Lf",&a[i][j]);
F(i,1,n) F(j,1,n) scanf("%Lf",&b[i][j]);
F(i,1,m) {scanf("%d",&o[i]);++o[i];}
F(i,1,n) dp[m+1][i]=1;
UF(i,m,1) F(j,1,n) F(k,1,n) dp[i][j]+=b[j][k]*dp[i+1][k]*a[j][o[i]];
//F(i,1,m) {F(j,1,n) printf("%.5Lf ",dp[i][j]);puts("");}
ld ans=0;
F(i,1,n) ans+=dp[1][i]*p[i];
printf("%.4Lf\n",ans);
return 0;
}
```
by WYXkk @ 2020-06-18 09:37:17
数据太小,快读负优化?
by 子归 @ 2020-06-18 09:40:59
@[子归](/user/170518) 这题的输入量本来就不大吧,最多也就 6k 个浮点数+1k 个整数吧
by WYXkk @ 2020-06-18 09:42:47
所以导致快读负优化了啊
by 子归 @ 2020-06-18 09:46:07
即使是负优化也没多少啊,数据量小
by cbio @ 2020-06-18 09:48:46
但他加了就T了,为啥
by 子归 @ 2020-06-18 09:50:22
波动
by 花舞0211 @ 2020-06-18 10:26:24
我用cin也过了啊。关掉同步流跑的贼快。
by Dorbmon @ 2020-06-18 10:46:30
~~你谷Feature,下一个~~
by JohnVictor @ 2020-06-18 20:08:53
@[WYXkk](/user/130151) 因为输入数据锅了,莫名其妙少了一行输入。快读寄了,`scanf` 读不进去数字不会 TLE。
等题管来修吧。
by 离散小波变换° @ 2023-07-01 19:14:44