Lista de probleme 78

Filtrare

#727 Joc1

Atunci când este plictisit, Costel inventează jocuri logice şi încearcă să le rezolve. Într-o zi Costel ia o tablă dreptunghiulară împărţită în M*N pătrăţele identice, asemănătoare unei table de şah, şi aşează pe aceasta cuburi identice astfel încât, pe fiecare pătrat al tablei să se afle cel puţin un cub şi cel mult 10 cuburi suprapuse. Costel determină numărul minim de cuburi aşezate pe o poziţie a tablei, notat cu MIN.

El defineşte noţiunea de mutare astfel: alege patru pătrăţele învecinate, care formează un pătrat compus din 2*2 pătrăţele şi ridică toate cuburile de pe aceste poziţii astfel ca, pe fiecare dintre cele patru pătrăţele, să existe un număr de cuburi egal cu MIN. Efortul necesar efectuării mutării este egal cu MAX-MIN, unde MAX reprezintă numărul maxim de cuburi aflat pe unul dintre cele patru pătrăţele alese.

Scopul jocului este acela de a obţine acelaşi număr de cuburi, egal cu valoarea MIN, pe fiecare pătrăţel de pe tablă, efectuând un şir de mutări ce necesită un efort total minim. Efortul total depus pentru rezolvarea jocului este egal suma eforturilor mutărilor efectuate.

Determinaţi valoarea efortului total minim depus pentru rezolvarea jocului.

#718 Sah2

Mihai a primit de ziua sa un joc de şah special. Tabla jocului are forma pătrată, de dimensiune N dar unele poziţii sunt marcate ca obstacole şi ele nu pot fi ocupate cu piese. În plus, jocul său are o singură piesă, numită “nebun”. Două poziţii pe tablă sunt desemnate ca poziţie iniţială şi poziţie finală. Mihai vrea să determine o modalitate de a deplasa nebunul, cu un număr minim de mutări, astfel încât acesta să ajungă din poziţia iniţială în poziţia finală. Mihai va respecta regulile de mutare a nebunului la jocul de şah, adică din poziţia curentă nebunul se poate muta doar pe diagonală, în oricare dintre cele 4 direcţii, oricâte poziţii deodată dar fără a sări peste obstacole. În plus, Mihai are voie la o excepţie de la această regulă: îi este permis să execute cel mult două mutări după regula de avansare a calului pe tabla de şah.

Dată fiind configuraţia tablei de şah precum şi poziţiile iniţială şi finală ale piesei, se cere determinarea numărului minim de mutări pentru a deplasa piesa între cele două poziţii.

Lot Juniori, Resita, 2012

#700 Labir

Şoricelul Jerry este (pentru a câta oară ?) în labirint. Labirintul poate fi codificat ca o matrice cu n linii şi m coloane formată din n*m celule pătratice identice. Liniile se numerotează de la 1 la n, iar coloanele de la 1 la m. Labirintul este format din celule libere şi din celule ocupate de pereţii labirintului.

La momentul iniţial, Jerry se găseşte într-o anumită celulă liberă şi misiunea lui este să ajungă la destinaţie într-o altă celulă liberă precizată. Șoricelul se poate deplasa din celula curentă în oricare dintre cele patru celule cu care aceasta are în comun o latură şi nu poate ieşi în afara labirintului. Este posibil ca el să nu poată să ajungă de la poziţia iniţială la cea finală trecând doar prin celule libere. În această situație el este nevoit să sfărâme peretele în anumite celule. Jerry şi-a pregătit dinamită în acest scop, pentru că nu i se pare optim să roadă peretele cu dinţii.

Cunoscând dimensiunile n şi m ale labirintului, coordonatele celulei de plecare şi ale celulei destinaţie, precum şi coordonatele celulelor ocupate de pereţi, să se determine numărul minim de celule ocupate, pe care Jerry trebuie să le dinamiteze pentru a putea să ajungă la destinaţie.

Lot Juniori, Deva, 2013

#1913 mr

Rică se joacă în fiecare seară The MazeRunnerVladVersion, joc pe care îl vom numi pentru simplitatea problemei MR. Jocul constă în găsirea unei căi de scăpare dintr-un labirint care conține:

  • ziduri prin care Rică nu va putea să treacă;
  • zero sau mai multe teleporturi cu ajutorul cărora deplasarea între două puncte precizate p1(x1, y1) și p2(x2, y2) se face într-un minut, dacă se doreşte acest lucru;
  • zone libere, trecerea din zona curentă într-o zonă învecinată se poate face pe direcția celor patru puncte cardinale. Deplasarea se va face într-un minut.

Rică pleacă din colțul stânga-sus al labirintului și doreşte să ajungă în colțul dreapta-jos.

El știe că are o teză în ziua următoare, așa că vă cere ajutorul vouă, programatorilor, și vă roagă să aflați timpul minim în care poate să ajungă din colțul stânga-sus în colțul dreapta-jos al labirintului.

#1761 Brutar

Renumitul nostru brutar a avut azi noapte un vis tare ciudat: acesta trăia într-un univers paralel în care nu omul îl mănâncă pe blat ci blatul îl mănâncă pe om… (eh, poate nu chiar atât de paralel). Astfel, brutarul nostru a fost atacat de blatul pe care tocmai îl pregătise (pentru prăjituri, evident) și a încercat să scape. Acesta a ieșit din brutărie și a ajuns în fața unui câmp de formă dreptunghiulară, cu dimensiunile cunoscute, ce poate fi împărțit în celule elementare cu latura de o unitate (exact ca o matrice!). Acesta poate intra pe câmp prin orice celulă a primei linii și trebuie să ajungă în orice celulă a ultimei linii (blatul se va întări până va ajunge acolo). Unele celule îi sunt inaccesibile din cauza diverselor obstacole (pietre, pomi, gropi,etc.)

Brutarul nostru se poate deplasa în 6 moduri:

  • Din căsuța curentă în cele adiacente ( Nord, Vest, Sud, Est )
  • Două mișcări speciale ce pot varia.

Mutările speciale vor fi citite din fișier și o mutare se va codifica astfel: xA yB, unde x și y sunt numere naturale nenule iar A și B sunt două caractere ce codifică direcția (A poate fi 'N' sau 'S' de la Nord respectiv Sud iar B poate fi ‘E’ sau ‘V’ de la Est respectiv Vest)

O mutare specială se poate face dacă celula destinație nu este ocupată de un obstacol și dacă nu implică ieșirea brutarului din matrice.

Brutarul vă roagă să îi specificați un traseu cu număr minim de celule parcurse, ce pornește de pe prima linie și se termină pe ultima linie, pentru a nu fi blătuit (mâncat de blat).

#628 Cub1

Lui Andrei îi plac foarte mult jocurile de tip puzzle. De curând, el a descoperit un joc nou: un cub de dimensiune n format din n•n•n cuburi unitate sub forma unor cămăruţe. Cubul poate fi văzut ca o matrice tridimensionala ale cărei elemente sunt cămăruţele. Două cămăruţe se numesc adiacente dacă au o faţă comună. Astfel, o cămăruţă poate fi adiacentă cu maxim 6 cămăruţe. Scopul jocului este acela de a duce o bilă din cămăruţa de coordonate (1,1,1) în cămăruţa de coordonate (n,n,n). Bila poate trece dintr-o cămăruţă în alta doar dacă acestea sunt adiacente, iar noua cămăruţă este accesibilă din cămăruţa curentă.

Cunoscând n, dimensiunea cubului şi valorile asociate fiecărei cămăruţe, determinaţi:

a) cămăruța cu un număr maxim de cămăruțe ce pot fi accesate din ea;
b) un drum de lungime minimă de la cămăruţa (1,1,1) la cămăruţa (n,n,n).

#1785 MZ

Fericit că s-a calificat la ONI, XORin vrea să sărbătorească făcând cât mai mult zgomot. Deoarece e programator, acesta s-a gândit să automatizeze felul în care face zgomot.

Pentru a face zgomot el folosește o placă cu circuite de diverse intensități. Placa poate fi reprezentată sub forma unei matrice cu N linii și M coloane. Fiecare celulă din matrice are o intensitate între 0 și 9 (o celulă cu intensitatea 0 corespunde unei zone goale, fără nici un circuit).

Un circuit începe într-o celulă a matricei și se termină în altă celulă, fiind o succesiune de celule adiacente de aceeași intensitate de la un capăt la celălalt al circuitului, asemenea unui drum pe matrice între cele două celule. Două celule se consideră adiacente dacă au o latură comună, deci o celulă e adiacentă cu maxim patru alte celule.

Placa a fost concepută în așa fel încât să nu apară scurtcircuite, așadar curentul dintr-un circuit poate merge numai într-o singură direcție (cu alte cuvinte, fiecare celulă dintr-un circuit se învecinează cu maxim alte două celule din același circuit). Nu există circuite de aceeași intensitate care să se învecineze.

Zgomotul produs de un circuit este egal cu lungimea lui, adică cu numărul de celule din matrice corespunzătoare circuitului.

Cerințe:

1) Să se afle numărul de circuite.
2) Să se afle valoarea zgomotului maxim care poate fi obținut unind două circuite. Două circuite pot fi unite dacă se poate trage o legătură de la un capăt al unui circuit până la un capăt al celuilalt circuit, numai prin celulele libere ale matricei (de intensitate 0). Legătura trebuie să aibă forma unui circuit. Lungimea circuitului nou creat nu se adaugă la zgomotul produs de cele doua circuite.
3) Să se afișeze placa ce conține legătura care unește două circuite din care se obține zgomotul maxim de la cerința 2. Dacă există mai multe variante, se poate afișa orice placă care conține legătura validă.

Concursul Interjudeţean de Matematică şi Informatică Grigore Moisil, 2016

#1998 Rover

NASA plănuiește o nouă misiune Rover pe Marte în anul 2020. Principalul obiectiv al acestei misiuni este de a determina, cu ajutorul unui nou Rover, dacă a existat în trecut viață pe Marte. Până când va fi lansată misiunea, Roverul este supus la tot felul de teste în laboratoarele NASA. Într-unul din teste, Roverul trebuie să parcurgă o suprafață de forma unui caroiaj cu N linii și N coloane. Acesta pornește din zona de coordonate (1,1) și trebuie să ajungă în zona de coordonate (N,N), la fiecare pas putându-se deplasa din zona în care se află într-una din zonele învecinate la nord, sud, est sau vest. Pentru fiecare zonă de coordonate (i,j) se cunoaște A[i,j], stabilitatea terenului din acea zonă. Știind că Roverul are o greutate G, o zonă cu stabilitatea terenului cel puțin egală cu G se consideră o zonă sigură pentru deplasarea Roverului, iar o zonă cu stabilitatea terenului mai mică decât G se consideră o zonă periculoasă pentru Rover.

1. Determinați numărul minim posibil de zone periculoase pe care le traversează Roverul pentru a ajunge din zona (1,1) în zona (N,N).
2. Determinați greutatea maximă pe care o poate avea un Rover care să ajungă din zona (1,1) în zona (N,N), fără a traversa nicio zonă periculoasă pentru el.

#2184 schior

Un schior profesionist se află pe un platou montan. Harta platoului este împărțită în n rânduri (numerotate de la 1 la n) a câte m parcele (numerotate de la 1 la m), fiecare parcelă reprezentând o zonă de teren de formă pătrată cu latura de 1 metru. Pe fiecare parcelă de pe hartă este scris un număr, ce reprezintă altitudinea parcelei respective. Schiorul se poate deplasa din parcela curentă în oricare din cele opt parcele învecinate (pe orizontală, verticală sau diagonală), cu condiția ca altitudinea noii parcele să fie mai mică sau egală cu altitudinea parcelei în care se afla anterior. Cunoscând coordonatele parcelei în care se află inițial schiorul, să se determine altitudinea minimă la care poate ajunge acesta.

Olimpiada Municipala de Informatica, Iasi, 2017

#2187 expand

Ana şi Bogdan au inventat un nou joc, pe care l-au numit Expand. Jocul are N cartonaşe, pe fiecare cartonaş fiind scrisă o literă şi o secvenţă formată din două sau trei litere. O mutare constă în utilizarea unui cartonaş prin care o singură apariţie a literei scrisă pe cartonaş va fi înlocuită în cuvântul curent cu secvenţa corespunzătoare de pe cartonaş. Apoi cartonaşul este repus în joc, astfel că acelaşi cartonaş poate fi utilizat de oricâte ori. Iniţial Ana alege o literă şi un cuvânt. Bogdan trebuie să obţină cuvântul spus de Ana, plecând de la litera respectivă, efectuând un număr minim de mutări. Scrieţi un program care determină numărul minim de mutări necesare pentru a obţine din litera aleasă de Ana cuvântul dat.

Olimpiada Municipala de Informatica, Iasi, 2017