Lista de probleme 3

#2472 fractal

Andra este o fetiță pasionată de desen. Pentru a-și îmbunătăți performanțele școlare la geometrie, Andra îmbină pasiunea pentru desen cu rezolvarea problemelor de geometrie. Astfel, pe o foaie de matematică împărțită în pătrățele dispuse pe \(2^N \) linii şi \(2^N \) coloane, Andra desenează în centru o figură de forma unui pătrat de latură \(2^{N-1} \) (figura 1) . Pentru fiecare colț al figurii, Andra desenează alte 4 noi figuri cu latura egală cu jumătate din latura figurii inițiale (Figura 2). Repetă procedeul de desenare pentru fiecare nouă figură obținută, până când ajunge la marginea foii de hârtie, fără a depăși marginile acesteia. Fiecare pătrățel care face parte dintr-o figură desenată este colorat, pentru a se distinge pe foaia de hârtie. Fiecare figură desenată este un pătrat cu laturile paralele cu marginile foii de hârtie.

Scrieţi un program care citește numărul N , corespunzător dimensiunii de \(2^N\) x \(2^N \) a foii de desen şi determină:

1) Numărul de figuri de latură minimă desenate;
2) Numărul total de pătrățele colorate cel puțin o dată de pe foaia de hârtie.

#2471 gcl

Gigel a inventat un nou limbaj de programare pe care l-a numit GCL (Gigel Campion Language). În GCL pot fi utilizate maxim 26 variabile notate cu litere mici ale alfabetului englez. Valoarea inițială fiecărei variabile (la începutul execuției programului) este 0.

Un program în limbajul GCL este format dintr-o succesiune de comenzi, câte o comandă pe o linie. Scrieți un program care citește un program scris limbajul GCL și rezolvă următoarele două cerințe:

1. determină numărul de comenzi SCRIE care se execută;
2. determină rezultatele afișate de comenzile SCRIE din programul scris în limbajul GCL.

#2473 jbb

Ana şi Bogdan joacă un nou joc – JBB (Jocul „Borcane cu Bomboane”). Pe tabla de joc sunt plasate N borcane cu bomboane. Se ştie câte bomboane se află în fiecare borcan: în borcanul i sunt B i bomboane (1≤i≤N).

Ca de obicei, Ana începe jocul, iar apoi cei doi jucători mută alternativ. Fiind prima la mutare, Ana alege un borcan din care va lua toate bomboanele.

Pe tabla de joc sunt trasate săgeţi care unesc borcanele. Mai exact, de la fiecare borcan i pleacă o singură săgeată către un alt borcan j. Săgeţile indică modul în care jucătorii se deplasează pe tabla de joc. Dacă există săgeată de la borcanul i la borcanul j, iar un jucător a luat bomboanele din borcanul i, atunci adversarul său e obligat să se deplaseze la borcanul j. Dacă în borcanul j va găsi bomboane, este obligat să le ia pe toate. Dacă borcanul j este gol, atunci adversarul poate să aleagă un alt borcan care conţine bomboane şi continuă jocul.

Evident, scopul fiecărui jucător este să aibă, la finalul jocului (atunci când toate borcanele au fost golite) cât mai multe bomboane.

Determinaţi numărul maxim de bomboane pe care Ana le-ar putea obţine respectând regulile jocului. Bineînţeles, atât Ana, cât şi Bogdan joacă optim (adică la orice pas, fiecare jucător va face cea mai bună mutare pe care poate să o facă).