Az a feladat ide csak alsó becslést ad. A felső becslése csak arra az esetre vonatkozik, amikor minden zár közvetlenül az egy páncélszekrény ajtaján van.
Bizonyos n,k értékekre jobb konstrukciót lehet adni, ha használhatsz plusz ládákat. (Lehet, hogy az is segíthet, ha csak egy ládád van, de sorba köthetsz lakatokat esetleg láncot is használva, nem tudom.)
Mondok egy példa konstrukciót. Minden (t,v) számpárhoz, ahol 0twn egészek, vegyünk fel egy L(t,w) ládát, amibe majd néhány kulcsot rejtünk. Azt szeretnénk, hogy L(t,w)-t pontosan akkor lehessen kinyitni, ha együttműködik az R(0),R(1),...,R(w-1) rablók közül legalább t fő, meg még az R(w) rabló. Ezt az általános esetben úgy érjük el, hogy az L(t,w) ládán két lakat van, az elsőhöz csak az R(w) rablónak van kulcsa, a másikhoz viszont az L(t-1,t-1),L(t-1,t),...,L(t-1,w-1) ládák mindegyikébe rakunk egy kulcsot. Speciálisan azonban ha 0=t, akkor csak az első lakat legyen a ládán. Végük a kincset rakjuk egy külön ládába, és az ezen lévő egy lakathoz az L(k-1,k-1),L(k-1,k),...,L(k-1,n) ládába rejtsük.
Ezzel a megoldással elég összesen O(n2) láda, O(n2) lakat és O(n3) kulcs. Ez megfelelő n,k esetén olcsóbb lehet, mint a megoldásban leírt lakat.
(Arra vigyázni kell, hogy a ládák elég nehezek legyenek ahhoz, hogy ne lehessen ellopni őket. Vegyük viszont észre, hogy a megadott séma robosztus abban az értelemben, hogy k-nál kevesebb rabló nem tudja kulcsok ellopásával megakadályozni azt, hogy rablóknak másik, az előbbitől diszjunkt halmaza kinyithassa a ládát, így a kulcsokat nem szükséges a ládák belsejéhez láncolni.)
|