题意:一个人打算在五个国家之间进行旅游(一个国家可以去多次,比如: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[i][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[i]); 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[i]]; 30 m=(int)(m*100+0.5); 31 m=m/100; 32 } 33 printf("%.2lf\n",m); 34 } 35 } 36 return 0; 37 38 }