Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet ezt a feladatot...

Hogyan lehet ezt a feladatot megoldani?

Figyelt kérdés

4. feladat: Beruházás (40 pont)

Egy nagyszabású beruházás terve N különböző munka elvégzését írja elő. Minden munkát pontosan egy nap alatt lehet elvégezni, azonban minden munkára elő van írva az a határidő, ameddig el kell végezni. A beruházó a munkák elvégzésére alvállalkozókat szerződtet. Minden alvállalkozó bármely munkát el tudja végezni, de egy nap csak egy munkát tud végezni.

Készíts programot, amely megadja, hogy legkevesebb hány alvállalkozót kell szerződtetni, hogy minden munkát határidőre elvégezzék! A munkák egy ütemezését is meg kell adni.

A standard bemenet első sorában az elvégzendő munkák száma van (2≤N≤10000). A további N sor mindegyike egy munka határidejét tartalmazza (1≤Hi≤300).

A standard kimenet első sorába a legkevesebb alvállalkozók K számát kell írni, amennyivel minden munka elvégezhető határidőre! A következő N sor a munkák egy lehetséges beosztását tartalmazza! Az első szám a sorban egy munka (1 és N közötti) sorszáma, a második a munkát elvégző vállalkozó (1 és K közötti) sorszáma, a harmadik pedig annak a napnak a sorszáma legyen, amikor a munkát elvégzi a vállalkozó! Több megoldás esetén bármelyik megadható.

Példa:

bemenet kimenet

7 3

1 1 1 1

2 2 1 2

1 3 2 1

3 4 3 2

2 5 2 2

2 6 3 1

3 7 1 3


Ezzel a feladattal már nagyon sokat foglalkoztam, és nem sikerül megoldani.

A válaszokat előre is köszönöm!



2016. dec. 14. 18:13
 1/3 anonim ***** válasza:
81%
Kérdést tegyél fel, ne feladatot.
2016. dec. 14. 18:51
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Nem nehéz, csak végig kell brute force módon próbálgatni.

Elkezded 1 munkással. Sorbarendezed a munkákat határidő szerint, és osztod ki a munkásokat rájuk egyenként. Ha elfogy a munkás és aznap nincs határidő: eggyel lépteted a napot, újból egyesével osztod a munkásokat. Ha viszont határidő van, akkor bukta. Akkor újrakezded eggyel több munkással. És az egészet addig ismétled míg végig nem ér.

2016. dec. 14. 20:56
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Köszönöm a válaszokat! Tudom, hogy nem feladatot kellett volna kiraknom, de nem nagyon tudtam volna ezt máshogy megfogalmazni.
2016. dec. 15. 14:31

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!