28 lines
1.2 KiB
Modula-2
28 lines
1.2 KiB
Modula-2
#Az elõzõ feladat kiegészítése-
|
|
#Ha valamibõl felesleg marad, azért büntetés jár.
|
|
#A csokiért 2 pénzegység a büntetés. A narancs 3, a mogyoró 1, virgács 4, kindertojás 5 és a gumicukor 6 pénzegység büntetést von maga után. Milyen csomagokat vegyünk a Mikulás csomagunk összeállításához, ha minimálisan szeretnénk költekezni és minimális büntetést szeretnénk kapni a végén.
|
|
|
|
#Megoldás:
|
|
|
|
var csomag1 binary;
|
|
var csomag2 binary;
|
|
var csomag3 binary;
|
|
var csomag4 binary;
|
|
var csomag5 binary;
|
|
|
|
var maradekcsoki >=0, integer;
|
|
var maradeknarancs >= 0, integer;
|
|
var maradekmogyoro >=0, integer;
|
|
var maradekvirgacs >=0, integer;
|
|
var maradekkindertojas >=0, integer;
|
|
var maradekgumicukor >=0, integer;
|
|
|
|
s.t. csoki: csomag2 + csomag4 + csomag5 - maradekcsoki =1;
|
|
s.t. narancs: csomag1 + csomag4 - maradeknarancs =1;
|
|
s.t. mogyoro: csomag1 + csomag2 - maradekmogyoro =1;
|
|
s.t. virgacs: csomag3 + csomag5 - maradekvirgacs =1;
|
|
s.t. kindertojas: csomag3 + csomag4 - maradekkindertojas =1;
|
|
s.t. gumicukor: csomag2 + csomag3 - maradekgumicukor =1;
|
|
|
|
minimize koltseg: 5*csomag1 + 10*csomag2 + 3*csomag3 + 4*csomag4 + 6*csomag5 + (2*maradekcsoki + 3*maradeknarancs + 1*maradekmogyoro + 4*maradekvirgacs + 5*maradekkindertojas + 6*maradekgumicukor ) ;
|
|
end; |