Wannafly挑战赛12 A 银行存款【DP】
2018-03-29 00:25
387 查看
链接:https://www.nowcoder.com/acm/contest/79/A
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
Special Judge, 64bit IO Format: %lld
题目描述
银行的定期存款一般有1年期、2年期、3年期、5年期四种。
现在我们有1块钱,我们想知道,通过合理安排存款方式,n年以后这1块钱最多会变成几块钱。
假设在这n年里利率不变,且n年以后这笔钱不能处于2年期、3年期、5年期存款年限的中间(否则会变成活期)。
输入描述:
第一行五个数n, r1, r2, r3, r5分别表示年数,1年期年利率,2年期年利率,3年期年利率和5年期年利率。
假设我们有1块钱,i年期存款到期后这1块钱会变成(1 + ri)i块钱。
1 <= n <= 20 且 n为整数,
0.04 <= r1 <= r2 <= r3 <= r5 <= 0.05;
输出描述:
一行一个数表示答案。保留5位小数(绝对误差或相对误差在1e-5之内的结果均判断为通过)。
示例1
输入
8 0.0430 0.0449 0.0458 0.0473
输出
1.44112
是个DP题,没想到吧!
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
Special Judge, 64bit IO Format: %lld
题目描述
银行的定期存款一般有1年期、2年期、3年期、5年期四种。
现在我们有1块钱,我们想知道,通过合理安排存款方式,n年以后这1块钱最多会变成几块钱。
假设在这n年里利率不变,且n年以后这笔钱不能处于2年期、3年期、5年期存款年限的中间(否则会变成活期)。
输入描述:
第一行五个数n, r1, r2, r3, r5分别表示年数,1年期年利率,2年期年利率,3年期年利率和5年期年利率。
假设我们有1块钱,i年期存款到期后这1块钱会变成(1 + ri)i块钱。
1 <= n <= 20 且 n为整数,
0.04 <= r1 <= r2 <= r3 <= r5 <= 0.05;
输出描述:
一行一个数表示答案。保留5位小数(绝对误差或相对误差在1e-5之内的结果均判断为通过)。
示例1
输入
8 0.0430 0.0449 0.0458 0.0473
输出
1.44112
是个DP题,没想到吧!
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<map> #include<vector> #include<cmath> #include<string> #include<queue> #include<iomanip> using namespace std; #define ll long long int #define INF 0x3f3f3f3f const double eps = 1e-8; const int maxn = 1e5 + 10; double dp[30]; double r[6]; int main() { int n; scanf("%d", &n); for (int i = 1; i <= 4; i++) { scanf("%lf", &r[i]); } for (int i = 1; i <= 26; i++) dp[i] = 0.0; dp[0] = 1; for (int i = 0; i <= n; i++) { dp[i + 1] = max(dp[i + 1], dp[i] * pow(1.0 + r[1], 1)); dp[i + 2] = max(dp[i + 2], dp[i] * pow(1.0 + r[2], 2)); dp[i + 3] = max(dp[i + 3], dp[i] * pow(1.0 + r[3], 3)); dp[i + 5] = max(dp[i + 5], dp[i] * pow(1.0 + r[4], 5)); } cout << setiosflags(ios::fixed) << setprecision(5) << dp <<endl; return 0; }
相关文章推荐
- Wannafly挑战赛12 A 银行存款 基础DP
- Wannafly挑战赛12 C 删除子串【经典dp】
- Wannafly挑战赛12 B - T95要减肥 dp
- Wannafly 挑战赛 12 A, C题解 【dp题】
- 牛客网 Wannafly挑战赛12 C(dp)
- Wannafly挑战赛12 B T95要减肥【DP】
- Wannafly挑战赛12 C 删除子串【三维DP||一维滚动】
- Wannafly挑战赛12 D 矩阵计数【DP】
- 牛客网 Wannafly挑战赛12-A 银行存款
- Wannafly挑战赛12 C 删除子串 (dp)
- Wannafly挑战赛3-A-珂学送分(概率dp)
- 【Wannafly挑战赛1】A Treepath 【树形DP】or 【黑白染色 找规律】
- Wannafly挑战赛10-B-小H和密码(dp)
- Wannafly挑战赛12 C - 删除子串
- Wannafly挑战赛1 Treepath(树形DP,思维)
- Wannafly挑战赛12 A、B
- Wannafly挑战12 C删除子串 - DP
- Wannafly挑战赛11-C:白兔的棋盘(轮廓线DP)
- 牛客网----Wannafly挑战赛12
- Wannafly挑战赛1 A-DP