1. 程式人生 > 其它 >SSL_1643【最小乘車費用】

SSL_1643【最小乘車費用】

技術標籤:動態規劃c++水題動態規劃

最小乘車費用

題目

假設某條街上每一公里就有一個公共汽車站,並且乘車費用如下表:

而任意一輛汽車從不行駛超過10公里。某人想行駛n公里,假設他可以任意次換車,請你幫他找到一種乘車方案,使得總費用最小
注意:10公里的費用比1公里小的情況是允許的。

Input

檔案共兩行,第一行為10個不超過200的整數,依次表示行駛1~10公里的費用,相鄰兩數間用一個空格隔開;第二行為某人想要行駛的公里數。

Output

僅一行,包含一個整數,表示行使這麼遠所需要的最小費用。

Sample Input

12 21 31 40 49 58 69 79 90 101
15

Sample Output

147

解析

水極了
這不是一個數組加迴圈就能解決的問題?
這你也要看程式碼?
好吧

code:

#include<iostream>
#include<cstdio>
using namespace std;
int a[11],dp[1010],n;
int main()
{
	for(int i=1;i<=10;i++)scanf("%d",&a[i]);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		dp[i]=0x7f7f7f7f;
		for(int
j=1;j<=i&&j<=10;j++)dp[i]=min(dp[i],dp[i-j]+a[j]);//最小費用 } printf("%d",dp[n]); return 0; }