C++ szöveges feladat?
Józsikának van "A" és "B" kupac fánkja, ezekben "n" és "m" darab fánk.
"X" perc múlva haza ér Józsika apja és mivel megenné az összeset, ezért Józsika minél több darabot meg akar enni az érkezéséig.
A fánkok különböző méretűek és Józsikának "A₁","A₂"..."Aₙ" és "B₁","B₂"..."Bₘ" percig tart megenni az egyes fánkokat.
Józsika mindig csak a kupacok tetején lévő fánkok közül választhat (nem tud tetszőleges fánkot kivenni a kupacokból) és egyszerre csak egy fánkot ehet.
Maximum hány darab fánkot tud megenni Józsika az apja érkezéséig?
Standard bemenet formátuma:
n m X
A₁,A₂...Aₙ
B₁,B₂...Bₘ
"n" és "m" 1 és 100 000 közötti integer
"X", "Aᵢ" és "Bᵢ" 1 és 10 000 000 közötti integer
A megoldást a standard kimenetre írjuk.
Például:
2 5 50
5 20
30 10 10 40 20
Megoldás: 3
Magyarázat: Két optimális megoldás van, Józsika megeszik 3 fánkot a B kupacból (30 + 10 + 10 <= 50) vagy 1-et az A kupacból és 2-t a B kupacból (5 + 30 + 10 <= 50).
Ha például megenné mindkét fánkot az A kupacból, akkor a B-ből már nem tudna megenni egyet sem (mert 5 + 20 + 30 > 50).
A input beolvasása megy ebből de nem tudom hogyan tovább :D
Először azzal próbálkoztam hogy mindig a legkisebb értéket választom de ez nem jó megoldás mert előfordulhat, hogy a nagyobb értéket kell választani a kisebb végső összeg érdekében.
#4 azt hiszem sikerült megcsinálni 2 stackkel és látszólag jó eredményt is ad de elképesztően lassú már 100-as stack méretnél is.
Itt a kódja a megoldó függvényemnek:
https://pastebin (pont) com/GNe5mq5T
Mit rontok el?
A rekurzív függvények általában lassúak.
Próbáld meg implementálni az 5. válaszoló megoldását.
Az O(n+m) komplexitás nagy bemenetekre is gyorsan fog lefutni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!