Wpis z mikrobloga

#programowanie #cpp #informatyka

Dostalem taki program do napisania w ramach cwiczen domowych:

Stolarz ma sklad z trzema rodzajami desek. Wszystkie maja taka sama szerokosc, ale rozne dlugosci. Sprzedajac deske pewnej okreslonej dlugosci, jezeli jest ona inna od tej podanej przez użytkownika, nalezy odciac od poprzedniej deski. By odpadki nie byly za duze, trzeba do tego wybrac najkrotsza deske (program powinien wskazywac najkrotsza mozlwia deske automatycznie), powinien tez zawierac funkcje wyrzucenia odpakdkow (usuniecie wszystkich desek rozniacych sie dlugoscia od tej zadelkarowanej przez uzytkonika.

Pojecia nie mam jak sie do tego zabrac. Podpowie ktos cokolwiek? Myslicie, ze dlugosci i rodzaje desek nalezy zpisac w matrycy?
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ja bym raczej zrobił sobie posortowany zbiór (

multiset
) desek, gdzie kluczem jest jej długość. Po kaƶdym odcięciu zastępujesz długość wartością odciętą. W ramach czyszczenia zostawiasz tylko trzy dozwolone klucze.
  • Odpowiedz
@erwit: Jak chcesz najkrótszą możliwą deskę od razu automatycznie mieć dostępną to użyj kolejki priorytetowej (

priority_queue
), jest to kopiec czyli zawsze na jego szczycie będziesz mieć najmniejszą/największą wartość (zależnie od tego jak wolisz).
  • Odpowiedz
@KrzaQ2: Ja nigdy nie byłem dobry w oczytywaniu tego p--------o którym usilnie raczą nas twórcy wszelakich zadań informatycznych (serio, bez ironii, zawsze pełno czasu spędzałem rozszyfrowując o co autorowi chodzi, samo kodzenie ypotem to już pryszcz ;P) no i jak tak widzę, że interesuje nas zawsze najkrótsza deska to nie widziałem potrzeby stosowania czgoś innego niż kopca.
  • Odpowiedz
@erwit: Nie potrzebujesz ƶadnych tablic :P

Rozwiązać moƶesz to na kilka sposobów, ale ja to bym zrobił tak:

multiset
- kontener trzymający dostępne deski (a raczej same
  • Odpowiedz