1047.田忌赛马(tian ji racing)
时限:1000ms 内存限制:10000K 总时限:3000ms
描述
田忌与齐王赛马,双方各有n匹马参赛(n<=100),每场比赛赌注为1两黄金,现已知齐王与田忌的每匹马的速度,并且齐王肯定是按马的速度从快到慢出场,现要你写一个程序帮助田忌计算他最好的结果是赢多少两黄金(输用负数表示)。平局为0
输入
多个测例。
每个测例三行:第一行一个整数n,表示双方各有n匹马;第二行n个整数分别表示田忌的n匹马的速度;第三行n个整数分别表示齐王的n匹马的速度。(数据需要自己排序)
输出
每行一个整数,田忌最多能赢多少两黄金。
#include <iostream>
using namespace std;
int n;
int tianji[101];
int qiwang[101];
void init();
int dp(int index, int j);
int memo[101][101];
int main()
{
while(cin>>n&&n)
{
for(int i=0; i<n; i++)
{
cin>>tianji[i];
}
for(int i=0; i<n; i++)
{
cin>>qiwang[i];
}
init();
cout<<dp(n-1, 0)<<endl;
}
return 0;
}
void init()
{
for(int i=0; i&