欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【noi 2.6_2421】Exchange Rates(DP)

发布时间:2025/3/17 编程问答 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【noi 2.6_2421】Exchange Rates(DP) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题意:起始有1000元美元,给出N天美元与加拿大元的汇率。问N天内可以不停的兑换,每次兑换需要收取3%的手续费,问可以得到的最大的美元数。

解法:直接用2个变量存第 i 天时手中是美元和加拿大元的最大数额。

注意——不知为何计算机储存小数时会吞掉小数部分,所以保留2位小数时要用先*100后的整型存,    最后答案再输出/100.0的实数。

1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<iostream> 5 using namespace std; 6 7 const int N=370; 8 double a[N]; 9 int mmax(int x,int y) 10 { return x>y?x:y; } 11 int main() 12 { 13 int n; 14 while (1) 15 { 16 scanf("%d",&n); 17 if (!n) break; 18 for (int i=1;i<=n;i++) scanf("%lf",&a[i]); 19 int c,u,cc,uu; 20 c=100000,u=0; 21 for (int i=1;i<=n;i++) 22 { 23 cc=c,uu=u; 24 c=mmax(c,(int)(uu*a[i]*0.97)); 25 u=mmax(u,(int)(cc/a[i]*0.97)); 26 } 27 printf("%.2lf\n",(double)(c/100.0)); 28 } 29 return 0; 30 }

 

转载于:https://www.cnblogs.com/konjak/p/5943606.html

总结

以上是生活随笔为你收集整理的【noi 2.6_2421】Exchange Rates(DP)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。