求编程此题思路

问题描述:

求编程此题思路

Case Time Limit:1000MS
Time Limit: 3000MSMemory Limit: 65536K
Description

上完体育课,XiaoC被安排了一个很艰巨的任务,就是把N盒子中的球归类,每个盒子中都有三种球(篮球,足球,排球)若干个.老师的要求是:每个盒子中只有一种球而且必须有一种球.请你帮XiaoC算算最少需要移动多少个球(一次移动为:把一个盒子中一个球放到另外一个盒子中),就能完成老师的要求.
Input

输入文件为ball.in
输入数据有四行,第一行一个整数N,表示盒子的个数.
第二行N个整数,表示每个盒子中篮球的个数.
第三行N个整数,表示每个盒子中足球的个数.
第四行N个整数,表示每个盒子中排球的个数.
Output
输出文件为ball.out
输出一个整数表示最少需要移动的次数,如果无法完成任务输出“0”.
Sample Input
3
1 1 1
1 1 1
1 1 1
Sample Output
6
Hint

样例解释
把一个篮球从盒子1中移动到盒子0中
把一个篮球从盒子2中移动到盒子0中
把一个足球从盒子0中移动到盒子1中
把一个足球从盒子2中移动到盒子1中
把一个排球从盒子0中移动到盒子2中
把一个排球从盒子1中移动到盒子2中
对于30%数据盒子的个数不超过10.
对于100%的数据盒子的个数不超过50.
对于100%的数据盒子的中的每种球的个数范围是[1,10000];
PS:
贪心,每次留下最多的球类是不对的,有可能最后所有留下来的球是同一类,拿其他两类球就没有地方放了.

呃 很有意思的问题,不过这样的题目一般不会有人帮你做的
个人感觉为了研究,你可以先穷举三个盒子放置不同球的最少移动次数
比如当前要装为 篮球 排球 足球 的最小次数, 篮球足球 排球 的最小次数.
然后比较一下那个是最小次数,然后找找规律