( uid_4656 | 2020. 04. 10., p – 21:05 )

Még egy aspektus.

Van egy robotod. Három dolgot tud csinálni: 1) balra fordulni 90 fokkal, 2) egyet előre lépni 3) megnézni, hogy van-e előtte fal. Oldd meg a következő feladatokat:

  • Fordítsd el a robotot jobbra 90 fokkal!
  • Menj végig a robottal az L alakú folyosón!
  • A robot egy 3x3-as szobában van és északra néz. A robotnak adott utasításokkal, és a megnézések eredményével találd ki, hogy melyik mezőn áll!
  • A robot egy 101x101-es labirintusban van a középső mezőn és északra néz. A labirintus térképét ismered. Juttasd ki a robotot a labirintusból.

Ezekhez eddig nem kell matek.

  • A robot egy 101x101-es labirintusban van a középső mezőn és északra néz. A labirintus térképét nem ismered. Juttasd ki a robotot a labirintusból.

Ehhez már talán kell.

  • A robot egy 1000001x10000001-es labirintusban van a középső mezőn és északra néz. A labirintus térképét nem ismered, de tudod, hogy a kijárata északon van a középső mezőn. Juttasd ki a robotot a labirintusból minél kevesebb lépésben.
  • A robot egy 101x101-es labirintusban van a középső mezőn és északra néz. A labirintus térképét nem ismered, de tudod, hogy a kijárata északon van a középső mezőn. A robot tud még egy dolgot ebben a körben: egy bombát tud felrobbantani, ami körülötte egy 3x3-as területen lerombolja az összes falat. Juttasd ki a robotot a labirintusból minél kevesebb lépésben.

Ezekhez sok sikert matek nélkül.

Ugyanez a komplexitásbeli különbség akkor is megvan, ha készletnyilvántartó programot írsz. Ha az otthoni konyhai fűszereket akarod nyilvántartani, akkor semmi problémád nem lesz a matekkal. Ha a DHL készleteit raktáraiban lévő készletekről van szó, akkor matek nélkül nem fog menni a dolog.