Codevs 1005 生日禮物

2022-02-11 17:59:49 字數 972 閱讀 8250

時間限制: 1 s    

空間限制: 128000 kb    

題目等級 : ** gold

輸入描述 input description

輸入的第一行包含2個整數n(1≤n

≤8),m(1≤m

≤10)。表示有n種不同型別的本子和m種小寒喜歡的顏色。接下來乙個n*m的矩陣。第i行第j列的整數aij表示在第i種型別的本子中包含小寒喜歡的顏色j的紙有aij(1≤aij

≤100)張。再接下來的一排n個整數b1到bn,表示每種顏色的本子在超市中有多少本(1≤bi

≤5)。

輸出描述 output description

輸出包含乙個整數,表示小松最少需要折的蝴蝶數目,如果該數目超過1000,則輸出」alternative!」。(由於可能存在多種買本子的方案,所以這裡就不要求輸出具體方案了)

樣例輸入 sample input

2 32 1 2

4 8 4

5 5樣例輸出 sample output

1 #include2 #include3

using

namespace

std;

4int a[10][12],f[12],sum[12],lim=1001;//

限制邊界次數 題目要求不超過1000

5int

n,m;

6void dfs(int

s)17}18

if(!flag)//

每種顏色的本子的數目都一樣 sum[1..n]都可以

19if(sum[1]*m1]>0

)20 lim=min(lim,sum[1]*m);21}

22for(int k=1;k<=m;k++)//

回溯 23 sum[k]-=a[s][k]*i;24}

25}26int

main()

codevs1005 生日禮物

時間限制 1 s 空間限制 128000 kb 題目等級 gold 輸入描述 input description 輸入的第一行包含2個整數n 1 n 8 m 1 m 10 表示有n種不同型別的本子和m種小寒喜歡的顏色。接下來乙個n m的矩陣。第i行第j列的整數aij表示在第i種型別的本子中包含小寒喜...

codevs1005 生日禮物

這個題直接爆搜顯然很好想,但是直接爆搜而不剪枝的話最壞複雜度應該是6 10 10,顯然會 開始我並沒有想到怎麼剪枝,因此只拿了80,看過題解後恍然大悟 我們可以提前處理好第i種本子之後所有的本子每種紙最多還能用多少,搜尋的時候,如果發現某種顏色的紙,就算之後所有的該種顏色的紙全部用上都無法超越現在的...

codevs 1005 生日禮物 題解報告

繼續我的刷題之路 輸入描述 input description 輸入的第一行包含2個整數n 1 n 8 m 1 m 10 表示有n種不同型別的本子和m種小寒喜歡的顏色。接下來乙個n m的矩陣。第i行第j列的整數aij表示在第i種型別的本子中包含小寒喜歡的顏色j的紙有aij 1 aij 100 張。再...