#P1365. 【贪心】田忌赛马

【贪心】田忌赛马

问题说明

这是中国历史上一个著名的故事。

“那是大约2300年前的事了。天机将军是齐国的高官。他喜欢和国王和其他人一起赛马。”

“田和王都有三匹不同等级的马,分别是普通马、快马和超级马。规则是一场比赛有三回合,每匹马必须在一回合中使用。单轮获胜者从失败者那里拿走两百银元。”

“天王是全国最有权势的人,他养的马非常漂亮,在每一节课上,他的马都比田的好。因此,每次国王都要从田身上拿走六百银元。”

“田忌对此并不高兴,直到他遇到了中国历史上最著名的将军之一孙彬。田忌耍了一个小把戏,在下一场比赛中给家里带来了两百块银元和这样的恩惠。”

“这是一个相当简单的把戏。用他的普通马对抗国王的超级马,他们肯定会输掉那一轮。但后来他的快马打败了国王的普通马,他的超级马打败了国王的快马。多简单的把戏。你怎么看中国的高官田忌?”


如果田忌生活在现在,他一定会自嘲。更重要的是,如果他现在坐在ACM竞赛中,他可能会发现赛马问题可以简单地看作是在二部图中寻找最大匹配。一边画田的马,一边画王的马。每当田的一匹马能打败国王的马,我们就在它们之间划出一条界线,这意味着我们希望建立这对马。那么,赢得尽可能多的回合的问题就是在这个图中找到最大匹配。如果存在平局,问题就变得更加复杂,他需要给所有可能的边指定0、1或-1的权重,并找到一个最大加权的完美匹配。。。

然而,赛马问题是一个非常特殊的二部匹配问题。这张图是由马的速度决定的——速度越快,速度越慢的顶点就越快。在这种情况下,加权二部匹配算法是一个过于先进的工具来处理这个问题。

在这个问题中,你需要编写一个程序来解决这个特殊情况下的匹配问题。

输入格式

输入包含多达50个测试用例。每种情况在第一行以一个正整数n(n<=1000)开始,这是每边的马数。第二行后面的n个整数是田的马的速度。第三行的下一个整数是国王的马的速度。输入以最后一个测试用例后只有一个0的行结束。

输出格式

对于每一个输入情况,输出一行包含一个数字,这是田吉将得到的最大货币,银元。

3
92 83 71
95 87 74
2
20 20
20 20
0
200
0

来源/分类

贪心 ⭐⭐