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.