#4607
Astar
Se dă o hartă de NxN
care conține spații libere (notate cu '.'
) și spații ocupate (notate cu '#'
). Să se răspundă la Q
interogări de forma i1 j1 i2 j2
, unde se dorește să se afle distanța minimă de la celula (i1, j1)
la celula (i2, j2)
.
#875
Stiva
Să se scrie un program care gestionează o stivă de numere întregi. Inițial stiva este vidă. Programul va citi de la tastatură o listă de operații, care pot fi:
push X
– adaugă valoarea întreagă X
pe stivă;pop
– elimină elementul din vârful stivei;top
– afișează elementul din vârful stivei.Programul va realiza asupra stivei operațiile citite, în ordine. Afișările se fac pe ecran, câte o valoare pe linie.
#876
Coada
Să se scrie un program care gestionează o coadă de numere întregi. Inițial coada este vidă. Programul va citi de la tastatură o listă de operații, care pot fi:
push X
– adaugă valoarea întreagă X
în coadă;pop
– elimină elementul din coadă;front
– afișează elementul de la începutul cozii.Programul va realiza asupra cozii operațiile citite, în ordine. Afișările se fac pe ecran, câte o valoare pe linie.
#1598
Coada1
Se consideră C
o coadă de numere naturale, iniţial vidă. Se definesc 2 tipuri de operaţii.
Operaţia 1
: push X
, adaugă elementul X
în coadă. Dacă X
există deja în coadă, se scot toate elementele din coadă, pana la întâlnirea lui, inclusiv X
.
Exemplu: C: 2 4 5 1 6 Push 5 C: 1 6 5 ( s-au scos 2, 4, 5).
Operaţia 2
: query X
, cere afişarea poziţiei elementului X
în coada C
. Dacă elementul nu există în coadă, se afişează -1
.
Exemplu: C: 2 5 1 3 7 Query 1 Răspuns: 3
#877
Cuburi2
Gigel are un set de n
cuburi. Fiecare cub este marcat cu un număr natural, de la 1
la n
și i se cunoaște lungimea laturii – număr natural. Cu o parte dintre aceste cuburi Gigel va construi o stivă, astfel:
Să se afișeze numerele de pe cuburile existente la final în stivă, de la bază spre vârf.
#2650
books
Eroul nostru, Căldărușe, are un număr n
de cărți pe care le are aranjate una peste cealaltă (sub forma unui stack). Cartea din vârf are valoarea \( {a}_{1} \), următoarea \( {a}_{2} \) și așa mai departe. Cartea de la bază are indicele n
(\( {a}_{n} \)). Toate numerele sunt distincte. Căldărușe vrea să mute toate cărțile în ghiozdanul lui în exact n
pași. În timpul pasului de ordin i
, el vrea să mute cartea cu numărul \( {b}_{i} \) în ghiozdan. Dacă această carte se află în stack, el o ia atât pe ea, cât și toate cărțile situate deasupra acesteia și le pune în ghiozdan; în caz contrar, el nu va face nimic și va trece la următorul pas. Ajutați-l pe Căldărușe! Spuneți-i voi numărul de cărți pe care le va pune în ghiozdan în timpul fiecărui pas.
#867
Generare2_cu_Coada
Se dau patru numere naturale n a x y
. Să se afișeze elementele mulțimii M
, cu următoarele proprietăți:
M
sunt numere naturale mai mici sau egale cu n
;a
se află în M
;b
se află în M
, atunci b+x
și b+y
se află în M
.#878
Intervale4
Se consideră un șir de n
intervale închise întregi. Două intervale consecutive în șir care au intersecția nevidă se reunesc și se înlocuiesc în șir cu intervalul reuniune. Operația se repetă până când nu mai sunt în șir două intervale consecutive cu intersecția nevidă.
Să se determine câte intervale există în șir după realizarea acestor operații.
#864
Roboti
Se dă o matrice cu n
linii și m
coloane și elemente 0
sau 1
, reprezentând planul unui teren în care 0
reprezintă o zonă accesibilă, iar 1
reprezintă o zonă inaccesibilă. O zonă a terenului are ca și coordonate linia și coloana corespunzătoare din matrice. Într-o zonă cunoscută a matricei se află un robot, iar în altă zonă, e asemenea cunoscută, se află o roboțică. Determinați numărul minim de pași prin care robotul va ajunge la roboțică. Dacă nu este posibil ca robotul să ajungă la roboțică, rezultatul va fi -1
.
#870
Depou
Se consideră un depou de cale ferată precum cel din imagine:
Pe linia A
se află n
vagoane, numerotate cu valori distincte de la 1
la n
, într-o ordine oarecare. Vagoanele trebuie mutate pe linia C
, în ordinea 1 2 .. n
. Pentru aceasta se poate muta câte un vagon de pe o linie pe alta, în ordinea indicată de săgeți:
A -> B
, A -> C
sau B -> C
.
Să se determine o succesiune de operații care să mute toate vagoanele de pe linia A
pe linia C
în ordinea dorită.