.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » ziduri

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
ziduri


Timp maxim de execuţie / test:
0.1s
Memorie totala disponibilă / stivă:
16MB / 1MB

Un ziar are redacţia la etajul unei clădiri. Acest etaj de formă pătratică este alcătuit numai din camere de aceeaşi dimensiune şi de formă pătratică. Pentru un etaj cu 4×4 camere avem configuraţia:



Unele dintre zidurile camerelor lipsesc. Directorul şi redactorul şef au fiecare biroul în camere separate. Directorul are biroul în camera de pe linia 1 şi coloana 1, iar redactorul şef în camera de pe ultima linie şi ultima coloană. Deplasarea între două camere vecine se poate face numai dacă ele nu au zid despărţitor. Pentru a mări viteza de deplasare între birourile directorului şi redactorului şef se ia decizia ca unele ziduri să fie desfiinţate. Un studiu făcut de departamentul administrativ arată că deplasarea între două camere fără zid conduce la un cost de o unitate monetară, iar deplasarea între două camere care au avut zid şi a fost dărâmat conduce la un cost de p unităţi monetare.

Cerinţă

Determinaţi costul minim al unei deplasări de la camera directorului la camera redactorului şef. Dintre toate deplasările de cost minim, determinaţi numărul minim de ziduri ce trebuie dărâmate într-o astfel de deplasare.

Date de intrare

Fişierul de intrare ziduri.in conţine pe prima linie n (numărul de camere de pe o linie, respectiv coloană) şi p, costul trecerii de la o cameră la alta între care s-a dărâmat zidul despărţitor, cele două numere fiind separate printr-un spaţiu. Pe următoarele n linii se află câte n numere naturale din mulţimea {0,1,…,15} separate prin câte un spaţiu. Aceste numere naturale transformate în baza 2 (pe 4 biţi) ne dau informaţii despre existenţa zidurilor în jurul camerii (1 pentru zid şi 0 în caz contrar). De exemplu dacă un astfel de număr are reprezentarea abcd în baza 2, atunci a este pentru zidul dinspre vest, b pentru cel din nord, c pentru cel din est, iar d pentru cel din sud.

Date de ieşire

Fişierul de ieşire ziduri.out va conţine pe prima linie costul minim deplasării de la director la redactorul şef, iar pe linia a doua numărul minim de ziduri dărâmate.

Restricţii

1 < n < 101
0 < p < 101

Nu se acordă punctaje parţiale.

Exemple

ziduri.inziduri.outExplicaţii
4 3 9 1 1 0 12 5 5 1 1 5 5 4 4 6 12 0 8 1 Configuraţia birourilor redacţiei (zidurile sunt marcate cu linie îngroşată)



autor: Prof. Doru Popescu Anastasiu
propunător: Prof. Marinel Şerban
Liceul de Informatică “Grigore Moisil”
marinel_serban@yahoo.com
Articole recomandate
Probleme recomandate
De la ONI 2005: baschet, ingerasi, numar1, prieteni, robinson, aritma, cezar, cuburi2, joc8, bifo, joc9, pal, romeo, seceta, antena, avere, joc11, paianjen, suma2, vizibil, masina3, csir, lsort, patrat, anticip, bsir, evantai, galax, spion, texan
De acelaşi autor: degrade, hora, noroc, test, tren, grad, palma, cs, h, vagoane, scaune, tir, nrcuv2, piata, vocale, prop, poligon, text2, onu2, creioane, exp, donald, young, albine, turn, linie, tub, suma1, triunghi, cod1, pic, zuzu, pav, prieteni1, banda10, numar2, prime1, puncte2, texan, part, ucif, numere7, mare, furnica, pavare, cifre3, domino, exp1, coduri, efort, prodmax, char, dartz, operatii, jucarii, cd1, codif, bileprime, echipa, covor, pavari, parcela, grad1, ec, stalpi2, grad2, testament, nrpomi, elicop, triburi1, showroom, cartite
Despre graf: gropi, tgv, matrice2, miniasm, picnic, mere, circuit, soldati, arce, conflicte, desen, robot, furtuna, net, cuvinte, excursie, cadere, pioni, reinvent, kreg, flood, croco, johnie, matrice, arthur, kimberley, ro, sol, caravane, bete, honest, police, pcod, zmeu, auto2, grazing, datorii, trafic, sponsori, monede1, apm, bile1, caini, masina1, bomboane, turn1, shgraf, paintball, program1, tgraf, kgb, algola, felinar, joc6, tric, homeless, promo, turism, casute, joc10, prieteni1, traseu, zapezi, litoral, lover, trip, garaj, tv, pact, echipe1, vitale, spion, trasee, bcolor, scara2, lant, ab3, soc, team, gard, rsp, graf, mexc, dep, albinuta1, atac2, cabane, drumuri, tj, grade, jungla, lanterna, magic5, coment, urgenta, fazan, lanturi, cfr, site, traseu1, trmv, graphgame, minuni, telefon, ubergraf, carray, pestera, chei, arbgraf, war, fluviu, drumuri1, entries, ubuntzei, pack, fotbal1, pamant, dag, razboi, benzina2, wg, neconex, asfalt1, kubus2, module, progresii, dfs, prieteni3, megascoala, grafxy, dineu, vot1, biperm, drumuri2, nrgraf, cristal, cartite, copaci3, dragoni, nuclee
surse trimise | ajutor