Documente Academic
Documente Profesional
Documente Cultură
Tablouri unidimensionale
Prima linie a fişierului pestera.in contine un număr natural nenul n, apoi pe următoarele n
linii n*n cifre de 0 şi 1. Valorile de 0 şi 1 au următoarea semnificație, a i,j=1 atunci când există
cale de acces amenajată, ai,j=0 atunci când nu există cale de acces amenajată. Să se scrie un
program care scrie în fişierul pestera.out pe prima linie numerele de ordine ale coridoarelor
în care intră sau din care ies un număr maxim de coridoare, pe a doua linie a fişierului se
scriu numerele de ordine ale încăperilor care se înfundă(în cazul în care nu există astfel de
încăperi se afişează mesajul nu există), iar pe a treia linie a fişierului se vor scrie numerele de
ordine ale încăperilor izolate (în cazul în care nu există astfel de încăperi se afişează mesajul
nu există).
0 0 1 0 0 0 1 1 0 0
0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 1 0 0 0 1
0 0 0 0 1 0 0 0 0 1
0 0 1 1 0 0 0 1 1 0
Se afişează Se afişează
a) 3 5 a) 1 3 5
b) 1 4 b) 2 4
c) 2 c) Nu există
10. Plasarea nebunului pe o tablă de șah. Se consideră o tablă de şah cu n linii şi m coloane, pe
care sunt plasate pioni. Pionii sunt codificați prin valoarea 1. Nebunul 1 1 0 0
(ținând cont de direcțiile de deplasare ale acestuia pe tabla de şah) 0 1 0 1
trebuie plasat într-un punct al tablei de şah(notat cu 0) astfel încât să 1 0 1 0
atace câți mai mulți pioni. Să se scrie un program care determină linia şi 1 0 0 0
coloana pe care se va afişa nebunul şi numărul de pioni de pe direcțiile 1 0 1 0
atacate.
Exemplu: n=5, m=4 şi tabloul alăturat, se va afişa 4 2 5 (linia 4, coloana 2, 5 pioni).
11. Săritura calului. Fie o tablă de şah cu n linii şi n coloane şi un cal. Calul este plasat la
coordonatele x şi y, citite de la tastatură. Să se scrie un program 1 16 11 20 3
care citeşte din fişierul cal.in o valoare naturală n şi n*n 10 21 2 17 12
elemente ale unei matrice a şi afişează pe ecran toate 15 24 19 4 7
coordonatele elementelor tablei pe care poate sări calul. Exemplu, 22 9 6 13 18
pentru n=5, matricea alăturată, x=3 şi y=3 se vor afişa coordonatele: (2, 25 14 23 8 5
5), (4,5), (5, 4), (5, 2), (4, 1), (2, 1), (1, 2), (1, 4).
12. Maria are o orgă de lumini de formă dreptunghiulară cu n linii şi m coloane de beculețe.
Funcționarea orgii este automată, automodificându-se o dată la o secundă simultan toate
becurile, după următoarea regulă: dacă un bec are un număr par de becuri vecine aprinse (în
stânga, dreapta, sus şi jos) atunci îşi schimbă starea (dacă este aprins se stinge, iar dacă este
stins se aprinde), însă dacă are un număr impar de becuri vecine aprinse îşi păstrează starea.
Știind configurația inițială a orgii determinați cum va arăta orga după k secunde?
Exemplu:
orga.in
4 4 3 0 1 0 0
1 0 0 1 1 1 1 1
1 1 0 0 după 3 secunde se obține matricea 0 0 1 1
0 1 1 1 1 1 1 1
0 0 0 0
13. Algoritmul lui Lee. Pe o tablă dreptunghiulară cu n linii şi m coloane, există zone libere
marcate cu 0 şi zone cu obstacole, marcate cu 1. Știind că pe tablă se află un şoricel la poziția
xi, yi, şi o bucată de brânză la poziția xf, yf, să se găsească şi să se afişeze distanța minima pe
care trebuie să o străbată şoricelul până la brânză. Acesta se poate mişca pe tablă pe direcția
nord, est, sud sau vest a poziției curente, unde nu se află un obstacol. Din fişierul mouse.in se
vor citi, în ordine, numerele n, m xi, yi, xf, yf, iar de pe următoarele n linii, codificarea tablei.
Exemplu Mouse.in
4 6 3 1 1 6
0 0 0 0 0 0
0 0 1 1 0 0
0 0 1 1 0 0
0 1 0 0 0 0
Se va afişa 8.
14. În profesia sa de hoț, Ionel a întâlnit o nouă provocare: la un nou “loc de muncă”, în locul
seifului clasic, a întâlnit un afişaj în formă pătrată conținând diverse cifre dispuse orizontal şi
vertical, în număr egal pe linii şi coloane şi o tastatură pentru introducerea parolei care
deschide seiful. Pentru a forma această parolă se împarte afişajul în 4 cadrane, apoi se preiau
cifrele situate pe diagonalele acestor cadrane, la parcurgerea lor în sensul invers arcelor de
ceas, ca în imaginea alăturată. Parola se obține rotind imaginar la stânga cu un număr
precizat k de poziții, şirul cifrelor determinat anterior. Cunoscând numărul natural n, apoi
cifrele inscripționate pe tastele de pe cele n linii şi n coloane, se cere să se afişeze şirul de
taste ce formează parola ce deschide seiful. Parola va conține şirul de cifre pornind de la
poziția de start, după rotirea acestora la stânga cu k poziții. Fişierul seif.in conține pe prima
linie două numere separate prin spațiu: numarul natural n, reprezentând numărul de linii şi
coloane ale afişajului şi numărul natural k reprezentând numărul de rotiri la stânga ale şirului
de cifre selectate pentru a obține parola seifului. Pe următoarele n linii se găsesc scrise câte n
cifre separate prin câte un spațiu, reprezentând afişajul. Fişierul seif.out va conține pe o
singură linie despărțite printr-un spațiu, şirul de cifre ce formează parola seifului.
Restricții(3 < n ≤ 100, n număr par, 0 < k < 1000).
Exemplu:
seif.in seif.out
6 3 963494814383
1 2 3 4 5 6
7 8 9 0 1 2 1 2 3 4 5 6
3 4 5 6 7 8 7 8 9 0 1 2
9 0 1 2 3 4 3 4 5 6 7 8
5 6 7 8 9 0 9 0 1 2 3 4
1 2 3 4 5 6 5 6 7 8 9 0
15. Fie n un număr natural impar 1 2 3 4 5 6 (n<100). Să
se construiască o matrice pătratică având n Iinii şi n coloane
după modelul din exemplul următor:
1 1 0 2 2
1 1 0 2 2
0 0 0 0 0
3 3 0 4 4
3 3 0 4 4