Proba II

         
Clasa a XII-a

Problema 1						Punctaj: 40 puncte.

  Fie A un alfabet care consta din n (1<=n<=200) simboluri, numerotate de
la 1 la n. Un cuvant peste alfabetul A este considerat corect daca:
* oricare doua simboluri consecutive sunt distincte;
* prin atergerea de simboluri dintr-un cuvant nu este posibila obtinerea unor
cuvinte de forma abab aa si b simboluri distincte oarecare, din alfabetul A. 
Intrare:
  Din fisierul de intrare INPUT.TXT se citeste de pe prima linie numarul n; 
de pe linia a doua - numarul m (1<=m<=1000) al simbolurilor din cuvant, 
iar de pe urmatoarele m linii o succesiune de numere naturale, fiecare pe o 
linie separata, reprezentand simbolurile cuvantului.

Iesire:
  Se cere sa verificati daca succesiunea de numere citite din fisierul de 
intrare reprezinta un cuvant corect peste alfabetul A = {1, 2, ..., n}.
  In fisierul de iesire OUTPUT.TXT  veti afisa:
* pe prima linie: mesajul DA, in cazul in care cuvantul citit a fost corect 
  sau NU in caz contrar;
* pe a doua linie: lungimea maxima a unui cuvant corect peste alfabetul 
  A = {1, 2, ..., n};
* pe urmatoarele linii o succesiune de numere naturale (cate un numar pe 
  fiecare linie), care sa reprezinte un cuvant corect de lungime maxima 
  peste alfabetul A = {1, 2, ..., n}.

Exemplu:
Pentru fisierul de intrare
3
1
2
3
2
Fisierul de iesire va fi:
DA
5
1 
2
1
3
1

	Nota: 	Datele de intrare sunt corecte. 
	Timp maxim de executie: 5 secunde per test.

    

Problema 2

  Conducerea Liceului de Informatica "Grigore Moisil" din Timisoara
intentioneaza sa organizeze o excursie la Sherbrooke in Canada. Deoarece 
sunt multi amatori, a fost initiata o triere pe baza unui joc Timtris.
  Jocul consta in  construirea unui zid dreptunghiular, compact (fara gauri) 
din piese care apar intr-o anumita ordine impusa.
  Regulile jocului: 
  (Exista 5 piese de forme diferite; acestea pot fi rotite cu 0~, 90~, 180~, 
  270~. In tabelul de mai jos sunt prezentate piesele si orientarile lor 
  posibile.)

 Orientare1Orientare2Orientare3Orientare4
Piesa1
   
Piesa2


  
Piesa3


  
Piesa4


  
Piesa5





* La construirea zidului trebuie sa plasati rand pe rand toate piesele, in ordinea aparitiei lor. * Odata aleasa orientarea piesei si coloana in care o veti plasa, se lasa sa cada (de sus in jos). * Odata ce o piesa atinge baza sau a cazut pe o alta piesa din zid ea este plasata in acel loc. * Piesele trebuie plasate astfel incat sa nu creeze nici o gaura in zid. * Fiecare piesa trebuie plasata astfel incat sa nu depaseasca latimea impusa a zidului. * Un rand de zid completat (fara gauri) nu dispare. Intrare: Fisierul de intrare input.txt va contine: - pe prima linie, latimea L (1<=L<=15) a zidului de construit; - pe a doua linie, numarul N (1<=N<=50) de piese; - pe fiecare din urmatoarele N linii, numarul piesei care urmeaza sa fie plasata. Tabelul anterior asociaza fiecarei piese un numar. Lista impune in acest fel ordinea de sosire. Iesire: Fisierul de iesire output.txt trebuie sa contina: - daca nu poate fi construit un zid compact, in fisier se va afisa NU; - daca zidul poate fi construit, fisierul trebuie sa contina N linii cu urmatoarea structura: a b unde a reprezinta orientare piesei, iar b reprezinta coloana in care este plasata extremitatea stanga a piesei. Exemple: 1. pentru fisierul de intrare: fisierul de iesire contine: 6 12 2 1 2 1 5 1 2 4 3 1 1 5 1 1 2 3 2 5 1 6 2 1 2 5 2 4 4 3 1 5 1 5 1 2 1 2 (poza) 2. pentru fisierul de intrare: fisierul de iesire trebuie sa contina: 5 NU 3 5 5 5 NOTA: Timp de executie: 30 secunde/test Punctaj: 50 puncte
 

Pentru informatii scrieti la:
IntraNet - IntraNet@litm.sorostm.ro