理财产品
【题目描述】
有一非闰年年初有100000元,有N个理财产品,每个理财产品用三个参数描述:购买时间,投资天数,年利息。每个时刻你只能拥有最多一件产品,求一年后最多可以获得多少钱。
【输入格式】
第1行一个整数N
接下来N行,每行为3个空格隔开的字符串A、B、C;A表示发行时间,格式为MMDD;B是一个整数,为投资天数,范围[10,300];C为最多2位小数,代表百分之几的年利息,范围[3,30]
【输出格式】
一个数,为年底最多可以获得的连本带利的资金数目,保留两位小数
【样例输入】
3
0101 100 4.5
0201 30 5
0402 50 7.8
【样例输出】
101483.84
【分析】
一维动态规划,设f[i]表示第i天可以获得的最大受益,注意最后输出f[366],因为题目求的是一年以后。
constmonth:array[1..12]of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
vari,j,n,p:longint;a,b:array[0..1000001]of longint;f,c:array[0..1000001]of real;
beginreadln(n);for i:=1 to n do beginreadln(p,b[i],c[i]);c[i]:=c[i]/100;a[i]:=p mod 100;p:=p div 100;for j:=1 to p-1 do a[i]:=a[i]+month[j];end;f[1]:=100000;for i:=2 to 366 do beginf[i]:=f[i-1];for j:=1 to n doif (a[j]+b[j]=i)and(f[a[j]]*(1+c[j]/365*b[j])>f[i]) then f[i]:=f[a[j]]*(1+c[j]/365*b[j]);end;write(f[366]:0:2);
end.
转载于:.html
理财产品
【题目描述】
有一非闰年年初有100000元,有N个理财产品,每个理财产品用三个参数描述:购买时间,投资天数,年利息。每个时刻你只能拥有最多一件产品,求一年后最多可以获得多少钱。
【输入格式】
第1行一个整数N
接下来N行,每行为3个空格隔开的字符串A、B、C;A表示发行时间,格式为MMDD;B是一个整数,为投资天数,范围[10,300];C为最多2位小数,代表百分之几的年利息,范围[3,30]
【输出格式】
一个数,为年底最多可以获得的连本带利的资金数目,保留两位小数
【样例输入】
3
0101 100 4.5
0201 30 5
0402 50 7.8
【样例输出】
101483.84
【分析】
一维动态规划,设f[i]表示第i天可以获得的最大受益,注意最后输出f[366],因为题目求的是一年以后。
constmonth:array[1..12]of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
vari,j,n,p:longint;a,b:array[0..1000001]of longint;f,c:array[0..1000001]of real;
beginreadln(n);for i:=1 to n do beginreadln(p,b[i],c[i]);c[i]:=c[i]/100;a[i]:=p mod 100;p:=p div 100;for j:=1 to p-1 do a[i]:=a[i]+month[j];end;f[1]:=100000;for i:=2 to 366 do beginf[i]:=f[i-1];for j:=1 to n doif (a[j]+b[j]=i)and(f[a[j]]*(1+c[j]/365*b[j])>f[i]) then f[i]:=f[a[j]]*(1+c[j]/365*b[j]);end;write(f[366]:0:2);
end.
转载于:.html