|洛谷|动态规划|P1968 美元汇率

https://www.luogu.org/problem/show?pid=1968

设f[i][0]为换美元,f[i][1]为换马克,易得出状态转移方程。

#include
#include
#include
#include
#define ms(i,j) memset(i,j, sizeof i);
/*	NOIP2016倒计时,RP++ 
	Luogu: P1968 美元汇率
*/
using namespace std; 
double f[105][2]; 
int n;
int main()
{
	ms(f,0);
	scanf("%d", &n);
	int a;
	scanf("%d", &a);
	f[1][0] = 100.0; f[1][1] = a;
	for (int i=2;i<=n;i++)
	{
		scanf("%d", &a);
		f[i][0] = max(f[i-1][0], f[i-1][1]/(double)a*100.0);
		f[i][1] = max(f[i-1][1], f[i-1][0]*(double)a/100.0);
	}
	printf("%.2f", f[n][0]);
    return 0;
}


你可能感兴趣的:(洛谷,动态规划)