#2010
Fermier
Dorel și-a achiziționat o fermă cu n
plantații și o mașină de transport cu o capacitate c
, pentru transportul de îngrășăminte la toate plantațiile. Îngrășămintele se află într-un depozit, în cantitate suficientă pentru scopul propus. Plantațiile și depozitul sunt dispuse sub forma unui cerc. Există drumuri doar între plantația i
și plantația i+1
(1≤i≤n-1
), precum și între depozit și plantația 1
și depozit și plantația n
, ca în figură.
La o plantație i
se poate ajunge de la depozit trecând prin plantațiile 1
, 2
,…, i-1
sau prin plantațiile n
, n-1
, …, i+1
, alegerea făcându-se în funcție de traseul cel mai scurt. Se cunosc aceste distanțe, precum și cantitatea de îngrășăminte necesară pentru fiecare plantație. La fiecare încărcare, Dorel ia din depozit exact cantitatea c
. Dorel vrea să-și organizeze bine munca la fermă și să consume cât mai puțină benzină prin alegerea celor mai scurte trasee de parcurs. Plantațiile trebuie să fie aprovizionate obligatoriu în ordinea următoare: mai întâi plantația 1
, apoi plantația 2
, plantația 3
,…, plantația n
. În plus, și-a propus să încarce o nouă cantitate de îngrășământ doar după ce a folosit toată cantitatea încărcată anterior. Transportarea îngrășămintelor pe plantații se face deci, începând cu plantația 1
. După ce se transportă toată cantitatea necesară pentru această plantație, se trece la plantația 2
, și tot așa în ordine la 3
, 4
etc. până se deservește ultima plantație. Dacă după ce s-au transportat îngrășămintele necesare pentru plantația i
în mașină au mai rămas încă îngrășăminte, acestea trebuie utilizate în continuare pentru alte plantații, alese în ordinea impusă (începând cu plantația i+1
, apoi i+2
etc.), până se epuizează toată cantitatea transportată de mașină. Astfel, dacă de la plantația i
trebuie să ajungă la plantația i+1
, va alege cel mai scurt traseu dintre traseul direct de la plantația i
la i+1
și traseul care trece prin plantațiile i-1
, i-2
, …, 1
, depozit, n
, n-1
, …, i+1
. La final, mașina trebuie să se întoarcă la depozit, goală sau cu cantitatea rămasă după aprovizionarea cu îngrășăminte a plantației n
.
Ajutați-l pe Dorel să calculeze distanța parcursă pentru a transporta îngrășăminte la toate cele n
plantații, conform cerințelor.
OJI 2017, Clasa a VI-a
Problema | Fermier | Operații I/O |
![]() fermier.in /fermier.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
Id soluție | #49288679 | Utilizator | |
Fișier | fermier.cpp | Dimensiune | 2.78 KB |
Data încărcării | 24 Februarie 2024, 11:18 | Scor / rezultat | 100 puncte |
fermier.cpp: In function 'int km()': fermier.cpp:31:11: warning: unused variable 'j' [-Wunused-variable] int i,j,depoz; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 3 | 3 | ||
1 | 0 secunde | OK. | 7 | 7 | ||
2 | 0 secunde | OK. | 4 | 4 | ||
3 | 0 secunde | OK. | 6 | 6 | ||
4 | 0 secunde | OK. | 3 | 3 | ||
5 | 0 secunde | OK. | 7 | 7 | ||
6 | 0 secunde | OK. | 2 | 2 | ||
7 | 0 secunde | OK. | 8 | 8 | ||
8 | 0 secunde | OK. | 4 | 4 | ||
9 | 0 secunde | OK. | 6 | 6 | ||
10 | 0 secunde | OK. | 4 | 4 | ||
11 | 0 secunde | OK. | 4 | 4 | ||
12 | 0 secunde | OK. | 4 | 4 | ||
13 | 0 secunde | OK. | 4 | 4 | ||
14 | 0 secunde | OK. | 4 | 4 | ||
15 | 0 secunde | OK. | 4 | 4 | ||
16 | 0 secunde | OK. | 4 | 4 | ||
17 | 0 secunde | OK. | 4 | 4 | ||
18 | 0 secunde | OK. | 4 | 4 | ||
19 | 0 secunde | OK. | 4 | 4 | ||
20 | 0 secunde | OK. | 10 | 10 | Exemplu | |
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Fermier face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.