← Back to topics
Topic

Okej, znam da davim

b
bocete
ali prosto nishta ne radi kad ga napishem. Zadatak kontejnjeri:

var kont1, kont2, kont3: array [1..3] of int64;
var reshenja: array [1..6] of int64;
var pom: int64;
var i: byte;

begin
readln (kont1[1], kont1[2], kont1[3]);
readln (kont2[1], kont2[2], kont2[3]);
readln (kont3[1], kont3[2], kont3[3]);

// U kont1[1], kont2[1] i kont3[1] zapisujem broj poteza potrebnih da se dati
// kont napuni iskljuchivo bocama prve boje..

pom := kont1[1] + kont2[1] + kont3[1];
kont1[1] := pom - kont1[1];
kont2[1] := pom - kont2[1];
kont3[1] := pom - kont3[1];

pom := kont1[2] + kont2[2] + kont3[2];
kont1[2] := pom - kont1[2];
kont2[2] := pom - kont2[2];
kont3[2] := pom - kont3[2];

pom := kont1[3] + kont2[3] + kont3[3];
kont1[3] := pom - kont1[3];
kont2[3] := pom - kont2[3];
kont3[3] := pom - kont3[3];

// Svi mogutji rasporedi boja po kontovima

reshenja[1] := kont1[1] + kont2[2] + kont3[3];
reshenja[2] := kont1[1] + kont2[3] + kont3[2];
reshenja[3] := kont1[2] + kont2[1] + kont3[3];
reshenja[4] := kont1[2] + kont2[3] + kont3[1];
reshenja[5] := kont1[3] + kont2[1] + kont3[2];
reshenja[6] := kont1[3] + kont2[2] + kont3[1];

// trazhi max

pom := reshenja[1];
for i := 2 to 6 do
if reshenja[i] > pom then pom := reshenja [i];
writeln (pom);
end.

Prosto sam birao najbolje od svih reshenja ali ne radi. Prolaze samo 2 test primera, ovi ostali daju netachno, nigde nema problema sa vremenom.
b
boba5551
Nadji sam razliku :)

var kont1, kont2, kont3: array [1..3] of int64;
var reshenja: array [1..6] of int64;
var pom: int64;
var i: byte;

begin
readln (kont1[1], kont1[2], kont1[3]);
readln (kont2[1], kont2[2], kont2[3]);
readln (kont3[1], kont3[2], kont3[3]);

// U kont1[1], kont2[1] i kont3[1] zapisujem broj poteza potrebnih da se dati
// kont napuni iskljuchivo bocama prve boje..

pom := kont1[1] + kont2[1] + kont3[1];
kont1[1] := pom - kont1[1];
kont2[1] := pom - kont2[1];
kont3[1] := pom - kont3[1];

pom := kont1[2] + kont2[2] + kont3[2];
kont1[2] := pom - kont1[2];
kont2[2] := pom - kont2[2];
kont3[2] := pom - kont3[2];

pom := kont1[3] + kont2[3] + kont3[3];
kont1[3] := pom - kont1[3];
kont2[3] := pom - kont2[3];
kont3[3] := pom - kont3[3];

// Svi mogutji rasporedi boja po kontovima

reshenja[1] := kont1[1] + kont2[2] + kont3[3];
reshenja[2] := kont1[1] + kont2[3] + kont3[2];
reshenja[3] := kont1[2] + kont2[1] + kont3[3];
reshenja[4] := kont1[2] + kont2[3] + kont3[1];
reshenja[5] := kont1[3] + kont2[1] + kont3[2];
reshenja[6] := kont1[3] + kont2[2] + kont3[1];

// trazhi max

pom := reshenja[1];
for i := 2 to 6 do
if reshenja[i] < pom then pom := reshenja [i];
writeln (pom);
end.
d
dimitar
boba trebao si i komentar da smenis u

// trazi min

:)
r
renovator
e sad , bocete , cik pogodi gde je greska :D.
b
boba5551
To je bila strategija da ga samo zbunim :) To ionako ne utice na compiler!
r
renovator
bobo kaze se kompajler :D ( hint : naziv topiK-a :D ).
b
bocete
God dammit. :))) Ali samo su mi ochi pale na greshku chim sam otvorio ovo..