|
题意:一个人打算在五个国家之间进行旅游(一个国家可以去多次,比如:A->B->C->D->B),国家之间的钱之间都有汇率,求如果这人在旅途中不花钱,只进行钱的转换,最后的钱变为多少
输入:第一行:一个整数t表示测试样例个数;
第2~6行:各个国家之间的汇率
接下来开始输入他的旅行过程
首先输入一个数N表示地点的个数(即使国家相同也看做不同的地点),之后输入N个国家的代号
当N不为0时,在这组汇率下可以继续输入旅行过程
View Code
1 #include<stdio.h>
2 double a[7][7];
3 int b[12];
4 int main()
5 {
6 int i,j,flag=0,t,n;
7 double m;
8 scanf("%d",&t);
9 while(t--)
10 {
11 if(flag)printf("\n");
12 flag=1;
13 for(i=1;i<=5;i++)
14 for(j=1;j<=5;j++)
15 {
16 scanf("%lf",&a[j]);
17 }
18 while(scanf("%d",&n)&&n)
19 {
20 b[1]=1;
21 for(i=2;i<=n+1;i++)
22 {
23 scanf("%d",&b);
24 }
25 b[n+2]=1;
26 scanf("%lf",&m);
27 for(i=2;i<=n+2;i++)
28 {
29 m=m*a[b[i-1]][b];
30 m=(int)(m*100+0.5);
31 m=m/100;
32 }
33 printf("%.2lf\n",m);
34 }
35 }
36 return 0;
37
38 } |
|
|