藍橋杯 演算法訓練 最小乘積(基本型)

2021-10-22 02:54:48 字數 840 閱讀 4079

問題描述

給兩組數,各n個。

請調整每組數的排列順序,使得兩組資料相同下標元素對應相乘,然後相加的和最小。要求程式輸出這個最小值。

例如兩組數分別為:1 3 -5和-2 4 1

那麼對應乘積取和的最小值應為:

(-5) * 4 + 3 * (-2) + 1 * 1 = -25

輸入格式

第乙個行乙個數t表示資料組數。後面每組資料,先讀入乙個n,接下來兩行每行n個數,每個數的絕對值小於等於1000。

n<=8,t<=1000

輸出格式

乙個數表示答案。

樣例輸入

2

31 3 -5

-2 4 1

51 2 3 4 5

1 0 1 0 1

樣例輸出

-25

6

這道題實際上就是要先為第一組數中絕對值大的數在第二組數中找到與其乘積最小的數,絕對值越大的數對乘積之和的影響越大,具體**如下:

#include

#include

#include

using

namespace std;

intmain()

for(

int i=

0;i)for

(int i=

0;i}for

(int i=

0;ic[k]=1

;//b中第k個數被選

sum+

=mi;

} cout<}return0;

}

藍橋杯 演算法訓練 最小乘積 基本型

問題描述 給兩組數,各n個。請調整每組數的排列順序,使得兩組資料相同下標元素對應相乘,然後相加的和最小。要求程式輸出這個最小值。例如兩組數分別為 1 3 5和 2 4 1 那麼對應乘積取和的最小值應為 5 4 3 2 1 1 25 輸入格式 第乙個行乙個數t表示資料組數。後面每組資料,先讀入乙個n,...

藍橋杯 演算法訓練 最小乘積 基本型

演算法訓練 最小乘積 基本型 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給兩組數,各n個。請調整每組數的排列順序,使得兩組資料相同下標元素對應相乘,然後相加的和最小。要求程式輸出這個最小值。例如兩組數分別為 1 3 5和 2 4 1 那麼對應乘積取和的最小值應為 5 4 3 2 1 ...

試題 演算法訓練 最小乘積 基本型 藍橋杯

資源限制 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給兩組數,各n個。請調整每組數的排列順序,使得兩組資料相同下標元素對應相乘,然後相加的和最小。要求程式輸出這個最小值。例如兩組數分別為 1 3 5和 2 4 1 那麼對應乘積取和的最小值應為 5 4 3 2 1 1 25 輸入格式 ...