Problem : 搬书
Description
陈老师桌上的书有三堆,每一堆都有厚厚的一叠,你想逗一下陈老师,于是你设计一个最累的方式给他,让他把书
拿下来给同学们。若告诉你这三堆分别有i,j,k本书,以及每堆从下到上书的质量,每次取书只能从任一堆的最上
面取,显然,每次取书陈老师的体力消耗都会加大,这里用体力系数代表,取下第一本书时,体力系数为1,第二
本书时体力系数为2,依次类推,而每次体力消耗值则为体力系数与书的重量之积。书最多有100本。
Input
第一行3个整数,分别为三堆书的数量i,j,k;第二行至第四行分别为每堆由下至上的书本重量。
Output
一行,输出最累方式的体力消耗总值
Sample Input
3 2 4
2 3 2
1 5
9 8 7 4
Sample Output
257
HINT
DP和DFS都可以做。
#include<bits/stdc++.h>
using namespace std;
int dp[100][100][100],a[1000],b[1000],c[1000];
int x,y,z;
int main(){
cin>>x>>y>>z;
for(int i=x;i>=1;i--)cin>>a[i];
for(int i=y;i>=1;i--)cin>>b[i];
for(int i=z;i>=1;i--)cin>>c[i];
for(int i=0;i<=