Programozó versenyek

Magas szintű programozási nyelvek 1, 2017. május 30., K16 ZH

2017. május 30. 16:15 – 2017. május 30. 17:55

Hajórakományok

A kikötőben veszteglő hajók feltöltése a következőképpen történik: először is meghatározzák a kikötőben álló hajók kapacitását és a feltöltésük sorrendjének prioritását. E szerint a hajókat a prioritásuk sorrendjében töltik fel egészen addig, míg a soron következő rakomány már nem fér bele az adott hajóba. Ezután ezt a hajót szélnek engedik, viheti az árut a nagyvilágba. A rakodást a következő hajóval folytatják. Így megy ez mindaddig, míg van rakomány vagy hajó a kikötőben.

Írjon programot, amely szimulálja ezt a folyamatot! Programja a standard bemenet első sorából beolvassa a kikötőben álló hajóknak (h) és az elhelyezendő rakománynak a darabszámát (r). A második sorban pontosan h darab egész érték szerepel, ezek a hajók kapacitásai a prioritásuk sorrendjében. A harmadik sor r darab egész értéke pedig az elhelyezendő rakományok térfogatát mutatja a feltöltés sorrendjében. A programjának egyetlen szót kell a kimenetre írnia: „YES”-t, ha sikerül minden rakományt behajózni, és „NO”-t, ha nem.

1. példa bemenet

  1. 10 10
  2. 10 9 8 7 6 5 4 3 2 1
  3. 1 2 3 4 5 6 7 8 9 10
letöltés szöveges állományként

Az 1. példa bemenethez tartozó kimenet

  1. NO
letöltés szöveges állományként

2. példa bemenet

  1. 10 10
  2. 1 2 3 4 5 6 7 8 9 10
  3. 10 9 8 7 6 5 4 3 2 1
letöltés szöveges állományként

A 2. példa bemenethez tartozó kimenet

  1. NO
letöltés szöveges állományként

3. példa bemenet

  1. 7 7
  2. 10 9 8 7 6 5 4
  3. 1 2 3 4 5 6 7
letöltés szöveges állományként

A 3. példa bemenethez tartozó kimenet

  1. YES
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.