Mă ajută cineva vă rog mult :3
În Pascal și în C++:
Cutii. Al Bundy este în dificultate! Are n + 1 cutii de pantofi și n perechi de pantofi identificate prin valorile 1, 2, ..., n (n perechi sunt așezate în n cutii, iar o cutie este liberă). Dar, din păcate, pantofii nu se află la locurile lor. Până să vină Gary (șefa lui), Bundy trebuie să potrivească pantofii în cutii. Dar pentru că Gary poate să apară în orice clipă și Bundy nu vrea să fie prins că nu își face treaba cum trebuie, aranjarea pantofilor trebuie făcută rapid și în așa fel încât să nu trezească bănuieli; prin urmare, dacă scoate o pereche de pantofi dintr-o cutie, trebuie să o pună imediat în cutia liberă. Ajutați-l pe Al Bundy să aranjeze pantofii la locurile lor printr-un număr minim de mutări.
Date de intrare: Prima linie a fișierului de intrare date.in conține numărul n de cutii. Linia a doua conține n + 1 numere distincte, separate prin câte un spațiu, reprezentând dispunerea inițială a perechilor de pantofi în cutiile numerotate de la 1 la n + 1. Printre cele n + 1 numere unul singur are valoarea 0 și corespunde cutiei goale. Linia a treia conține n + 1 numere separate prin câte un spațiu, reprezentând configurația finală cerută, în care valoarea 0 se află pe poziția căruia îi corespunde cutia goală.
Date de ieșire: Fișierul de ieșire date.out va conține pe prima linie un număr întreg k, reprezentând numărul minim de mutări.
Restricții și precizări:
- 1 < n < 100.
Exemplu:
date.in 4
3 4 1 0 2
4 0 2 1 3
date.out 4
Explicații:
Mutarea 1: perechea 1 se mută din cutia 3 în cutia 4
Mutarea 2: perechea 2 se mută din cutia 5 în cutia 3
Mutarea 3: perechea 3 se mută din cutia 1 în cutia 5
Mutarea 4: perechea 4 se mută din cutia 2 în cutia 1
Răspunsuri la întrebare
Răspuns de
1
Program Mutari;
type Cutii = array[1..5] of integer;
Final = array[1..5] of integer;
var m,i : integer;
F1 : text;
F2 : text;
C : Cutii;
F : Final;
k : integer;
begin
assign(F1,'datein.TXT');
rewrite(F1);
for i:=1 to 5 do
begin
writeln(i,') Cutia:');
readln(C[i]);
end;
beginF[1]:=C[2];
F[2]:=C[4];
F[3]:=C[5];
F[4]:=C[3];
F[5]:=C[1];
end;
k:=4;
while not eof do
begin
for i:=1 to 5 do
begin
write(C[i],' ');
end;
end;
while not eof do
begin
for i:=1 to 5 do
begin
write(F[i],' ');
end;
end;
close(F1);
assign(F2,'dateout.TXT');
rewrite(F2);
while not eof(F2) do
beginwrite(k);
end;
close(F2);
readln;
end.
type Cutii = array[1..5] of integer;
Final = array[1..5] of integer;
var m,i : integer;
F1 : text;
F2 : text;
C : Cutii;
F : Final;
k : integer;
begin
assign(F1,'datein.TXT');
rewrite(F1);
for i:=1 to 5 do
begin
writeln(i,') Cutia:');
readln(C[i]);
end;
beginF[1]:=C[2];
F[2]:=C[4];
F[3]:=C[5];
F[4]:=C[3];
F[5]:=C[1];
end;
k:=4;
while not eof do
begin
for i:=1 to 5 do
begin
write(C[i],' ');
end;
end;
while not eof do
begin
for i:=1 to 5 do
begin
write(F[i],' ');
end;
end;
close(F1);
assign(F2,'dateout.TXT');
rewrite(F2);
while not eof(F2) do
beginwrite(k);
end;
close(F2);
readln;
end.
Ariana98:
Mulțumesc mult, dar în c++ o poți face?
Alte întrebări interesante
Informatică,
8 ani în urmă
Matematică,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
9 ani în urmă
Franceza,
9 ani în urmă