Google code jam 2008, Round 1A: A. Minimum Scalar Product 翻译

英文地址:here

本文仅作学习之用,题目的测试用例下载及答案的上传请到上面的英文地址,有不专业或者错误还请指正。
最小标量积

问题

给定两个向量:v1=(x1,x2,...,xn) 和v2=(y1,y2,...,yn).这两个向量的标量积是一个实数,计算方式为:x1y1+x2y2+...+xnyn.

假设允许你对每一个向量重新排列。选择两个序列使得两个新向量的标量积最小,并且输出那个值。

输入

输入文件的第一行包含一个整数T:测试用例的数目。对于每一个测试用例,第一行包含整数n,接下来的两行每行包含n个整数,分别是向量v1和v2的序列。

输出

每一个测试用例占一行:
Case #X: Y
X表示第几个测试用例,从1开始,Y表示两个给定向量的任意序列的最小标量积。

限制

小测试数据
T = 1000
1 <= n <= 8
-1000 <= xi, yi <= 1000
大测试数据
T = 10
100 <= n <= 800
-100000 <= xi, yi <= 100000

例子

输入
2
3
1 3 -5
-2 4 1
5
1 2 3 4 5
1 0 1 0 1

输出
Case #1: -25
Case #2: 6

posted @ 2009-08-11 14:34  gg_shily  阅读(558)  评论(0编辑  收藏  举报