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

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


Timp maxim de executie/test:
0.1 secunde
Memorie totala disponibila/stiva:
16 MB/1 MB

Ion s-a mutat intr-un sat din Alaska. Pentru a ajunge din satul sau in cel mai apropiat oras, el trebuie sa traverseze un rau mare si involburat, care nu ingheata niciodata. Ion inhama cainii la sanie si apoi leaga de sanie o barca. Cand ajunge la rau, Ion se urca in barca si transporta pe rand cainii pe celalalt mal. La ultimul transport, Ion leaga sania de barca si astfel la sfarsit ajunge pe celalalt mal cu caini, barca si sanie. Pare destul de simplu, dar nu este intotdeauna asa. Unii caini se dusmanesc reciproc si nu pot fi lasati singuri (fara Ion) pe acelasi mal. Cainii care nu se dusmanesc pot fi lasati singuri pe acelasi mal fara nici o problema. Evident, Ion stie care caini se dusmanesc reciproc.

De exemplu, anul acesta Ion are 5 caini: Labus, Grivei, Rex, Zdreanta si Costel. Grivei se dusmaneste cu Labus, Zdreanta si Costel. Rex se dusmaneste cu Labus si Zdreanta. Ceilalti caini nu au aversiuni unii fata de ceilalti. Prin urmare, Ion are nevoie de o barca cu 3 locuri, astfel incat atunci cand traverseaza raul sa poata transporta doi caini si trebuie sa faca minim 7 traversari, dupa cum urmeaza:
1. transporta pe Grivei si Rex de pe malul 1 pe malul 2;
2. il aduce inapoi pe Grivei pe malul 1;
3. transporta pe Costel si Grivei pe malul 2;
4. transporta pe Grivei si Rex inapoi pe malul 1;
5. transporta pe Zdreanta si pe Labus pe malul 2;
6. revine pe malul 1 fara a aduce nici un caine inapoi
7. leaga sania de barca, transporta pe Grivei si pe Rex pe maul 2 si isi continua calatoria.

Observati ca la nici un moment doi caini care se dusmanesc nu au fost lasati singuri pe acelasi mal. Daca Costel si Labus s-ar fi dusmanit, o barca cu 3 locuri nu ar mai fi fost suficienta.

Cerinta

Scrieti un program care sa determine X, numarul minim de locuri din barca pentru a transporta toti cainii, precum si o modalitate de a transporta cainii efectuand un numar minim de transporturi cu o barca cu X locuri, astfel incat la nici un moment doi caini care se dusmanesc sa fie lasati singuri pe acelasi mal.

Date de intrare

Fisierul de intrare caini.in contine pe prima linie un numar natural N reprezentand numarul de caini pe care ii are Ion. Cainii sunt numerotati de la 1 la N. Pe cea de a doua linie se afla un numar natural K reprezentand numarul de perechi de caini care se dusmanesc reciproc. Fiecare dintre urmatoarele K linii contine doua numere naturale separate printr-un spatiu a b cu semnificatia "cainii a si b se dusmanesc reciproc".

Date de iesire

Fisierul de iesire caini.out contine pe prima linie doua numere naturale separate printr-un spatiu X Y; X reprezinta numarul minim de locuri din barca, astfel incat cainii sa poata fi transportati; Y reprezinta numarul minim de transporturi pe care Ion trebuie sa le faca pentru a transporta toti cainii folosind o barca cu X locuri.

Restrictii si precizari

1<=N<=10
In fisierul de intrare, o pereche de caini care se dusmanesc este specificata o singura data.

Exemplu

caini.in caini.out
5
5
1 2
2 3
4 3
4 5
2 5
3 7

prof. Emanuela Cerchez
Liceul de Informatica "Grigore Moisil" Iasi

propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la .campion 2004: cifre1, super, apm, bile1, factk, schimb, secvreg, descfib, maraton, masina1, otilia, multiplu, tub, pasune, remi, m01, robot1, na, sir23, paralel, zaruri, bomboane, dotnet, divizor, tren1, joc5, tvshow, pachete, soldati1, echipe, omizi, suma1, aedaro, concurs1, windows, comb, renju, latime, vectori, ghici, subperm, puncte, mere1, spirala, distanta, piloti
De acelaşi autor: celule, scp, vedete, film, ab, supertri, inginer, camp, sl, detinut, simetric, egal, gropi, ruleta, carti, tgv, uscat, afise, dezbateri, bunici, rv, onu, nspecial, secvop, cadou, chimie, reteta, piticot, petrol, checkin, teanc, index, teren, pizza, ecran, drum, text, lbd, aven, spam, pluricex, tren2, gray, pasi, mgo, joc, anagrame, vecini, criptmat, maxim, cutie, party, friends, net, sablon, hd, pc, sir2, aztec, scara, nr, robot2, sah, formule, ed, bilete, hanoig, flood, matrice3, erdos, grup, cd, kfactor, np, cuc, radio, honest, ref, nr01, scor2, convert, auto2, compress, politics, pm, playlist, barbie, firma1, submatrix, ham, pizza1, exam, ants, teatru1, cifre1, bile1, secvreg, pasune, remi, m01, sir23, tren1, joc5, pachete, aedaro, windows, renju, latime, mere1, piloti, peste, pitici, sirag1, stive, turn1, carti1, program1, spioni, kgb, lift, apel, lex, oras, homeless, subsir, dist, harta1, adevar, joc10, bare, zapezi, masina2, perechi1, raft, joc11, joc12, ferma, fni, tunel, lover, pepsi, transport, avion, monkey, premii1, garaj, carti2, tv, pact, fat, cafea, echipe1, secvente, petrom, peg, scara1, lant, ecuatii, stiva, bile4, jungla, rj, poli, text1, compus1, rez, politie, anag, codul, coment, muzeu, seti, basm, timer, secvsir, dp, placa, prod3, bursa, submdisj, sotron1, fazan, secvpar, joker, lego, medalii, cfr, antipatie, figura, links, segm, colorare, brazi, mobil, distsir, guess, greiere, pestera, conferinta, chei, ny, nx, ghinion, sumb, drenaj, telecomanda, grupuri, mahjong, rotund, viena, sport2, cos, monoton, micro, valet, nr0, maxviz, anagramabil, nrpal, lista, dame, consiliu, adprod, arme, deal, prodnr, compar, latin, interviu, vintage, prize, nrdiv, arrows, tdrept, agenda, reziston, vot2, tema, smiley, relatii, ech, scadere, nebuni, castig, expand, wb, prime2, virgule, b210
Despre coada: balanta, inginer, camp, rebus, harta, insule, volei, lbd, magic3, axa, cadere, reinvent, ocean14, iepuras2, sah, balls, cd, toys, radio, subperm, castel, excursia, casute, soricel2, masina2, salvare, paianjen, suma2, garaj, alee, lanterna, rj, caraibe, taxe1, sotron1, lanturi, tom, k1, dreptunghiuri, sokoban, ny, oldest, drumuri1, alpinist, tsunami, robot3, joc19, valet, oras1, gheizere, zone, taxa, abq, cartite, joc21, traseu3, panda, expand
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, masina1, bomboane, turn1, shgraf, paintball, program1, tgraf, kgb, algola, felinar, joc6, tric, homeless, promo, turism, casute, joc10, prieteni1, traseu, zapezi, litoral, lover, trip, garaj, ziduri, 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
Despre operaţii pe biţi: barfa, cod, gray, cartonase, plimbare, excursie, xor, vector, ro, nrbinar, radio, chimie2, dans, metro, newcomp, viteza, bcast, aritma, pereti, morse, paritate, gradina, xor2, game1, efect, gxor, lgdrum, qtri, patrate7, panda, cript
Despre generare: taste, pluricex, balbe, magic3, formule, grup, zmeu, nr01, reteta2, playlist, pizza1, caramele, tvshow, adevar, prime1, hexa, premii1, carti2, bile4, hof, matrx, cubinvers, arctir, guess, minmax, stele, tablou1, adunscad, sumprod, prisme, operatii1, expeval, triburi1, optim, patru, genab, dineu, cumpanit, nkd, relatii, wb
Software recomandat
surse trimise | ajutor