Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» Olimpiada de informatica Clasa a X-a - PROBLEME


Olimpiada de informatica Clasa a X-a - PROBLEME


Clasa a X-a

PROBLEMA 2 - Matrice energetica temporala

Neo se trezi in matricea energetica temporala. Stia ca trebuie sa ajunga cat mai repede intr-una din pozitiile diagonalei secundare de unde va fi absorbit instantaneu in alt plan. Isi consulta aparatul de buzunar:



Dimensiunea matricei:

Pozitia ta:

Numarul de elemente ale sirului de pasi:

Sir de pasi:

Un element al sirului de pasi este numarul de pasi ce trebuie facuti pe directia verticala daca numarul are o pozitie impara in sir sau pe directie orizontala daca pozitia sa in sir este un numar par. Pe exemplul dat, lui Neo i se sugereaza sa mearga spre diagonala secundara 3 pozitii pe verticala, 2 pe orizontala, 1 pe verticala, 1 pe orizontala si inca 3 pe verticala.

Matricea contine pe fiecare pozitie valori energetice pozitive, nule sau negative.

In momentul intrarii lui Neo in matricea energetica temporala, campul emis de diagonala secundara creaza un soi de 'unde' paralele cu ea, care se propaga spre pozitia lui Neo.

Aceste unde pot sa-i fie fatale eroului daca toate elementele ce formeaza una dintre unde sunt negative.

a)      Sa se verifice daca Neo este in pericol.

b)      In cazul in care undele nu sunt un pericol, Neo urmeaza comenzile primite.

Verificati daca informatiile primite il duc pe Neo la diagonala secundara. In caz afirmativ, afisati tota­lul energetic datorat traseului urmat.

Date de intrare

Fisierul de intrare NEO.IN contine:

pe prima linie un numar natural n reprezentand dimensiunea matricei patratice

pe a doua linie doua numere reprezentand linia si coloana pozitiei in care se afla Neo

pe a treia linie este numarul de elemente al sirului de pasi.

pe a patra linie se afla    un sir de valori naturale (pot fi si nule) separate prin spatii ce reprezinta sirul de pasi

pe ultimele n linii se afla elementele matricei, fiecare linie continand n nu­me­re intregi separate prin spatii

Date de iesire

Fisierul de iesire NEO.OUT va contine:

pe prima linie, corespunzator cerintei de la punctul a) se va afisa un mesaj: "PERICOL" sau "TRECERE LIBERA

pe a doua linie se va afisa mesajul: "NEO NU A AJUNS LA DIAGONALA SECUNDARA" daca e­roul nostru nu ajunge la diagonala secundara, in caz contrar se afiseaza mesajul "NEO A AJUNS LA DIAGONALA SECUNDARA

daca eroul ajunge la destinatie, va exista si a treia linie in fisier continand numarul intreg reprezentand suma energiilor acumulate sau pierdute pe traseul efectuat in matricea energetica temporala. Daca suma este un numar pozitiv atunci Neo acumuleaza energie, altfel pierde.

Restrictii si precizari:

n ≤ 100

Neo se trezeste in matrice intr-o pozitie care nu se afla nici pe diagonala principala, nici pe undele fatale lui

Elementele matricei sunt numere intregi de trei cifre; cele de pe diagonala secundara au valoare nula

In cazul in care calculatorul indica mai multe pozitii de deplasare decat sunt necesare, traseul se considera a fi incheiat in momentul in care Neo ajunge la destinatia dorita, deci indicatia se poate considera ca fiind corecta

Toate mesajele din fisierul de iesire vor fi scrise cu majuscule, cuvintele fiind separate cu un spatiu, exact ca si in exemple

Exemple

Fisierul NEO.IN corespunzator exemplului de mai sus este:

Corespunzator acestui fisier obtinem matricea:

Celula in care se trezeste Neo este hasurata, iar undele emise de diagonala secundara sunt desenate.

NEO.OUT

TRECERE LIBERA

NEO A AJUNS LA DIAGONALA SECUNDARA

Explicatie

Neo nu este in pericol si urmeaza traseul care il duce exact la destinatie (9+4+5+8+8+9-1-3-1-3=35)

Daca pe exemplul de sus sirul directiilor este:

NEO.OUT

TRECERE LIBERA

NEO A AJUNS LA DIAGONALA SECUNDARA

Explicatie

Chiar daca sunt mai multe indicatii de deplasare, daca Neo ajunge la diagonala secundara, solutia este corecta.

Daca elementul de pe linia 6 si coloana 5 din matricea din exemplul de mai sus are o valoare cu semn negativ:

NEO.OUT

PERICOL

Explicatie

Daca acea valoare devine negativa, intreaga diagonala ce trece prin el si este paralela cu diagonala secundara va avea numai valori negative, ceea ce inseamna ca Neo este in pericol.

Daca pe exemplul de sus sirul directiilor este:

NEO.OUT

TRECERE LIBERA

NEO NU A AJUNS LA DIAGONALA SECUNDARA

Explicatie

Desi Neo nu este in pericol si merge mereu spre diagonala secundara, urmand directiile primite, nu ajunge acolo.

Timp maxim de executie/test : 1 secunda





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate