二進位制列舉 計蒜客幼兒園買玩具

2021-07-28 08:37:47 字數 1135 閱讀 2030

幼兒園有n

個小朋友,每個小朋友都有自己想玩的玩具。身為幼兒園園長的你決定給幼兒園買一批玩具,由於經費有限,你只能買 m

m 個玩具。已知玩具商店一共賣 k

k 種玩具,編號為 1,2,3,...k1,

2,3,

...k

,你讓每個小朋友把想玩的玩具編號都寫在了紙上。你希望滿足盡可能多的小朋友的需求,請計算出最多能滿足多少個小朋友的玩具需求。

第一行,輸入三個整數 n,m,k(1 \leq n \leq 100, 1 \leq m \leq k \leq 15)n,

m,k(

1≤n≤

100,

1≤m≤

k≤15

),中間用空格分開。

接下來 n

n 行,第 i+1(0 \leq i < n)i+

1(0≤

i行的第乙個數字 a_ia​

i​​ 代表第 i

i 個小朋友想玩的玩具數量,接下來有 a_ia​

i​​ 個數字,代表這 a_ia​

i​​ 個玩具的編號。

輸出乙個整數,表示最多能滿足多少小朋友的玩具需求。

樣例輸入

5 3 5

2 1 4

02 3 1

3 2 3 4

2 4 5

樣例輸出

3
這道題我的思路是用二進位制列舉法,用乙個標記陣列統計哪些編號的玩具被購買,1為購買,0為不購買,再去統計能滿足的孩子數目。

#include int main(void)

} int max = 0;//最多能滿足的孩子數

for(int i = 0; i < (1 << k); i++)

;//記錄玩具是否購買的陣列(1為購買)

for(int j = 0; j < k; j++)

}int count2 = 0;//當前方案能滿足的孩子數

for(int x = 0; x < n; x++)

}if(flag && count <= m)

}if(max < count2)

}printf("%d\n", max);

return 0;

}

計蒜客幼兒園買玩具 二進位制列舉子集

問題描述 蒜廠幼兒園有 n 個小朋友,每個小朋友都有自己想玩的玩具。身為幼兒園園長的你決定給幼兒園買一批玩具,由於經費有限,你只能買 m 個玩具。已知玩具商店一共賣 k 種玩具,編號為 1,2,3,k,你讓每個小朋友把想玩的玩具編號都寫在了紙上。你希望滿足盡可能多的小朋友的需求,請計算出最多同時能滿...

二進位制列舉 幼兒園買玩具

問題描述 蒜廠幼兒園有n 個小朋友,每個小朋友都有自己想玩的玩具。身為幼兒園園長的你決定給幼兒園買一批玩具,由於經費有限,你只能買m 個玩具。已知玩具商店一共賣k種玩具,編號為1,2,3,k,你讓每個小朋友把想玩的玩具編號都寫在了紙上。你希望滿足盡可能多的小朋友的需求,請計算出最多能滿足多少個小朋友...

幼兒園買玩具 二進位制列舉

幼兒園買玩具 蒜廠幼兒園有 nn 個小朋友,每個小朋友都有自己想玩的玩具。身為幼兒園園長的你決定給幼兒園買一批玩具,由於經費有限,你只能買 mm 個玩具。已知玩具商店一共賣 kk 種玩具,編號為 1,2,3,k1,2,3,k,你讓每個小朋友把想玩的玩具編號都寫在了紙上。你希望滿足盡可能多的小朋友的需...