Kezdőoldal » Számítástechnika » Programozás » Visszalépéses keresés (c#)?

Visszalépéses keresés (c#)?

Figyelt kérdés

Sziasztok az alábbi problémám áll fenn:


van egy Feladat[] feladatok tömböm

a Feladat osztályom tartalmaz egy int Ertek tulajdonságot(megmutatja hogy mennyi az értéke az egyes Feladatoknak) és egy listát (meg sok egyebet, ami most lényegtelen), amibe Ember objektumokat lehet beletenni, ennek a listának a neve AkikElvegezhetikAFeladatot. Különböző feltételek alapján kiválogattam, hogy kik vehetik fel a bizonyosok feladatokat. szóval a feladatok[0].AkikElvegezhetikAFeladatot[0] rámutat arra az Ember objektumra, aki eltudja végezni a 0. indexű feladatot.

Az Ember osztályban van string Nev meg egy int eddigiErtekek tulajdonsagom, a feladat az lenne, hogy (ezt feltöltöm nagyon sok adattal az addig megvan, meg a nagyrésze is csak a keresésben akadtam el) visszalépéses kereséssel megtalálni az összes megoldást, úgy, hogy egy ilyen Ember objektum-nak az eddigiErtekek tulajdonsag maximum 2000 lehet.


Igazából már alap ötleteknek is örülnék, neten néztem példákat, fűrész fogas tömbökben megvalósítottam egy példát a visszalépéses keresésre ami arra a problémára megadja az összes megoldást, de ezt valahogy még nem látom át.



2021. ápr. 21. 12:56
1 2
 1/17 A kérdező kommentje:
Ohh igen egy Ember ugye több feladatot is felvehet, a lényeg az, hogy a 2000-es összeértékét ne haladja meg.
2021. ápr. 21. 13:02
 2/17 anonim ***** válasza:
24%

Vazz, ez, amit leírtál, egy akkora érthetetlen katyvasz, hogy meg sem lehet érteni.

Először próbáld meg értelmes mondatokba foglalni a problémádat és akkor remélhetsz segítséget is.


A visszalépéses keresés meg kb. olyan mint egy vak hangya a labirintusban. Szegénykém ki akar kecmeregni onnan, de nem lát. Így megpróbál egyet előre lépni és megint előre. Ha fal van előtte, akkor visszalép _Backtrack-el_ és elfordul jobbra vagy balra, majd újra próbálkozik amíg előrébb nem jut.

2021. ápr. 21. 13:11
Hasznos számodra ez a válasz?
 3/17 A kérdező kommentje:

van egy Feladat[] feladatok tömböm


Feladat osztály az alábbiakat tartalmazza:

int Ertek; (megmutatja, hogy egy feladat elvégzésért mennyi értéket kap az Ember objektum majd)

List<Ember> AkikElvegezhetikAFeladatot;


Ember osztaly az alábbiakat tartalmazza:

string Nev;

int eddigiOsszertek; (alapesetben ugye 0, ha elvégez egy feladatot, akkor megkapja a feladatért járó értéket..)



a feladatok[0] indexen lévő elem tartalmaz egy AkikElvegezhetikAFeladatot listát ugye. tehát a feladatok[0].AkikElvegezhetikAFeladatot[0] megmutatja az első olyan személyt aki az 0. indexű feladatot eltudja végezni.

Egy személy több feladatot is eltud végezni annyi a megkötés, hogy az eddigiOsszertek tulajdonsága, ne menjen 2000 felé.


A feladat meghatázoni visszalépéses kereséssel az összes lehetséges megoldást arra, hogy ki melyik feladatot vegye fel véglegesen.

2021. ápr. 21. 13:19
 4/17 anonim ***** válasza:
Mi a kimenet? A lehetseges megoldasok szamat kell visszaadni? Ha a konkret megoldasokat, akkor milyen formaban?
2021. ápr. 21. 13:47
Hasznos számodra ez a válasz?
 5/17 anonim ***** válasza:
A legegszerubb az lenne, ha irnal egy konkret peldat, konkret bemenettel es elvart kimenettel.
2021. ápr. 21. 13:58
Hasznos számodra ez a válasz?
 6/17 A kérdező kommentje:

Legyen mondjuk ez a kimenet.

List<Ember[]> megoldasok = new List<Ember>();

Tehát az egyes megoldásokat egy Ember[] egyLehetsegesMegoldas tömbben tároljuk, aminek a mérete a feladatok számával egyezik, mert ugye annyi lehet. Aztán ha meghatároztunk egy lehetségedMegoldást, akkor beletesszük a megoldasokba.

2021. ápr. 21. 14:04
 7/17 A kérdező kommentje:
Nincs konkrét példa, lehet 1-2 ember, 1-2 feladat, meg több millió is mind a kettőből.
2021. ápr. 21. 14:05
 8/17 anonim ***** válasza:
40%
Tobb millio elemre backtracking? Azzal tisztaban vagy, hogy soha nem fog lefutni?
2021. ápr. 21. 14:11
Hasznos számodra ez a válasz?
 9/17 anonim ***** válasza:
Maga a feladat egyebkent pofonegyszeru, de a kimenetnek nem latom ebben a formaban ertelmet.
2021. ápr. 21. 15:52
Hasznos számodra ez a válasz?
 10/17 A kérdező kommentje:
Nem ez a dolog lényege, hogy miből mennyi van. Nem azt kérdeztem, hogy mennyi ideig futna egy ilyen program, hanem hogy hogyan kéne implementálni :).
2021. ápr. 21. 15:52
1 2

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

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!