Hirdetés

Új hozzászólás Aktív témák

  • [LOLDMA]

    csendes tag

    válasz F-ECT$ #3787 üzenetére

    aludtam rá egyet, és rájöttem. Az én megoldásom nem darabolja az utazás intervallumot, hanem az elejéből mindig befele húz. Szóval a munkáknak kell egy order by a munka kezdete, és akkor aszt mondod hogy szelektálni tudod azokat a munkákat amik az adott utazáshoz tartoznak.

    a, UTAZÁS magába foglalja a MUNKÁT,
    b, MUNKA magába foglalja az UTAZÁST,
    c, MUNKA előbb kezdődik, mint az UTAZÁS és az UTAZÁS alatt ér véget,
    d, MUNKA az UTAZÁS alatt kezdődik és utána ér véget

    b, eset ekvivalens, a tiszta utazási idő 0.
    a többi eset nem ily egyszerű. Kell két változó, ami az aktuális utazás intervallumra mutat (amit éppen vizsgálunk). Kell még egy változó, amibe belerakjuk még az elején az egész utazás időtartalmát (legyen t változó, t legyen egyenlő utazas vege-utazas eleje). Egyből az elején meg kell adni az éppen aktuális utazás intervallum elejét (e legyen egyenlő utazas eleje) valamint végét (v legyen egyenlo utazas vege)

    Namármost, szépen sorban végigmegyünk a munkákon.
    az a, esetben a t változóból kivonjuk a munka vege-munka eleje-t, azaz a munka időtartalmát, valamint az e változót átállítjuk a munka végére.
    c, esetben ugye a munka előbb kezdődik, mint az aktuális utazás intervallum (de később mint az előző munka) szóval ott csak annyit kell kivonni, amennyivel belelóg a még tiszta utazási időbe. Magyarán kivonjuk t változóból a munka vege-e -t. Ezutan e-t átállítjuk a munka vege-re.
    d, esetben, mivel ugye sorrendben vannak a munkák, ez lesz az utolsó, itt a munka elejétől az utazás végéig levő intervallumot kell már csak kivonni, szóval t változóból kivonjuk a v-munka eleje. És voálá. ami marad a t-ben, az a tiszta utazási idő. Na most rohanok suliba, ígyis elkések.

Új hozzászólás Aktív témák