当伊萨克从一个国家c[i-1]去另一个国家c[i]旅行(i=1和i=n+2是美国,则旅行的国家是i=2~n+1),货币汇率是a[c[i-1]][c[i]],四舍五入即可。
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n; //旅行国家数
double m;
double a[6][6]; //汇率
int c[12]; //一次旅行
int cases;
int flag = 0; //每组数据之间的空行
cin >> cases;
while (cases--)
{
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5; j++)
{
cin >> a[i][j];
}
}
if (flag)
cout << endl;
flag = 1;
while (cin >> n&&n)
{
c[1] = 1; //起始国家,美国
c[n + 2] = 1; //结束在美国
for (int i = 2; i < n+2; i++)
{
cin >> c[i];
}
cin >> m;
for (int i = 2; i <= n+2; i++)
{
m = m*a[c[i-1]][c[i]];
//四舍五入到分值
m = (int)(m * 100 + 0.5);
m /= 100;
}
cout << m << fixed << setprecision(2) << endl;
}
}
return 0;
}