1. feladat: Automata (25 pont)
Egy automatát a J, B, E betűk sorozatával vezérelhetünk. Az automata kezdetben az (x, y) = (0, 0) koordinátájú pontban áll, és északi irányba néz. A J hatására jobbra fordul 90 fokkal, a B hatására pedig balra. Az E hatására 1 egységnyit előre lép az aktuális irányban. x értéke kelet felé nő, nyugat felé csökken, y értéke észak felé nő, dél felé csökken.x és y negatív számok is lehetnek.Feladat:
Készíts programot, (AUTOMATA.PAS vagy AUTOMATA.BAS vagy AUTOMATA.C), amely beolvas egy legfeljebb 100 karakterből álló utasítássorozatot, majd megadja, hogy ennek hatására az automata milyen koordinátájú pontra jutott, és éppen merre néz!Példa:
BEMENET | KIMENET |
EJEEE | Hely: (3,1)
Irány: kelet |
A kolbászgyárban a kolbászokat egy cső alakú tárolóban helyezik el. Az ábrán a szürke (számozott) mezők jelzik a kolbászokat, a fehérek pedig az üres helyeket. A két szélső mező biztosan üres.A tárolót ellepték az egerek, mert különösen kedvelik a kolbászokat. Az egerek egy időegység alatt egy-egy mezőnyit tudnak lerágni minden kolbász mindkét végéről. (Az ábrába számokat írtunk, ezek azt jelzik, hogy melyik kolbászdarabot hányadik időegységben eszik meg az egerek.)
Feladat:
Írj programot (KOLBASZ.PAS vagy KOLBASZ.BAS vagy KOLBASZ.C), amely megadja, hogy mennyi idő alatt eszik meg az egerek az összes kolbászt.Példa:A programod először olvassa be a tároló N (1<=N<=100) hosszát (az ábrán látható példában N=16), majd az egyes mezők leírását N darab számjeggyel. A 0 azt jelenti, hogy az i-edik mezőben nincs, az 1 pedig azt, hogy van kolbász. (A fenti ábra esetén a következő 16 számjegyet kell beírni: 0111110001111010.) Ezután ki kell írni, hogy hány időegység alatt fogy el az összes kolbász.
BEMENET | KIMENET |
16
0111110001111010 |
3 |
Pisti táskáján olyan számzár van, amely N tárcsából áll. A tárcsák különböző nagyságúak, így az egyes tárcsákon különböző számok közül lehet választani. (Pl. két tárcsa közül az egyiken 0-tól 9-ig haladnak a számok, a másikon pedig csak 0-tól 5-ig.) Sajnos, Pisti elfelejtette a kódot. Segíts Pistinek, írj programot (SZAMZAR.PAS vagy SZAMZAR.BAS vagy SZAMZAR.C), amely választ ad az alábbi kérdésekre!A. A tárcsák száma (1<=N<=5) és az egyes tárcsákon előforduló számjegyek M száma (1<=M<=10) alapján legfeljebb hány kombinációt kell Pistinek kipróbálnia a táska kinyitásához?B. Legfeljebb hány próbát kell tennie Pistinek abban az esetben, ha emlékezik arra, hogy az egyik tárcsa valahogyan elromlott, azaz minden lehetséges számot elfogadott? Arra Pisti sajnos nem emlékszik, hogy melyik a hibás tárcsa.
C. Maximálisan hány kombinációt kell kipróbálnia Pistinek azon a táskán, amelyikről azt tudja, hogy a kódban van legalább két azonos számjegy?