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

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


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

Gigel a cumpărat de la magazinul de dulciuri N caramele din cele T tipuri disponibile. Când a ajuns acasă le-a aşezat pe raft în linie. Din motive estetice, Gigel vrea să rearanjeze caramelele astfel încât cele de acelaşi tip să formeze o secvenţă continuă pe raft.
Pentru a rearanja caramelele Gigel va folosi un singur tip de mutare: se iau două caramele aflate pe poziţii consecutive în rand şi se interschimbă.

Cerinţă

Ajutaţi-l pe Gigel să-şi aranjeze caramelele cumpărate folosind un număr minim de mutări.

Date de intrare

Fişierul de intrare caramele.in conţine pe prima linie numerele naturale N şi T separate prin spaţiu. Pe cea de a doua linie este descris şirul caramelelor, aşa cum sunt aşezate iniţial pe raft. Caramelele sunt identificate după tip cu un număr întreg cuprins între 1 şi T.

Date de ieşire

Fişierul de ieşire caramele.out va conţine o singură linie pe care se va scrie un singur număr întreg reprezentând numărul minim de mutări necesare pentru a aranja caramelele.

Restricţii

1 ≤ T ≤ 10
1 ≤ N ≤ 10 000

Pentru 60% din teste T ≤ 7 şi N ≤ 1 000

Exemple

caramele.incaramele.outExplicaţii
8 3 1 1 2 1 2 3 2 3 2 Se interschimbă caramelele de pe poziţiile 3 şi 4 şi cele de pe poziţiile 6 şi 7.
5 3 3 2 1 3 2 3 Se interschimbă caramelele de pe poziţiile 3 şi 4, apoi cele de pe poziţiile 2 şi 3 şi în final cele de pe poziţiile 3 şi 4

autor: Prof. Dana Lica
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la Finala .campion 2006: ants, arcas, chimie1, evaluare, joc4, linie, masina, teatru1
De acelaşi autor: compus, taste, arce, balbe, drept, scor, sume3, spair, bitslang, police, tree, reteta2, farfurii, apm, maraton, masina1, bomboane, soldati1, concurs1, puncte, pipe, camion, imax, litoral, dreptc, bal, prefix1, tablite, lanturi, loto, bila, popic, activ, game1, pitag, secv9, divk, taler, bdotcom, oak, ozn1, optim, puncte5, swap, tetris3, monede2, ssk
Despre backtracking: acop, bipal, magic2, vagoane, friends, tricouri, festival, numar, pento, ro, jobs, onu2, sir3, cai1, labirint, dans, ham, sudoku, linie, puncte, castel, excursia, joc7, pattern, avere, paianjen, medii, monkey, scara1, numere8, banda1, spirala1, cofetar, gradina, placa, smin, jucarii, immortal, concat, cubinvers, codif, izvor, avioane, jb, prisme, triburi1, genab, dineu, antitero, ornament, virgule
Despre combinatorică: manevre, carti, bonuri, test, cub, nspecial, circuit, numere, cs, pluricex, parent, gray, siruri, anagrame, party, net, scaune, sir, monede, aztec, nrcuv2, perm, race, hanoig, red, grup, hperm, depou, grazing, pm, reteta2, playlist, young, pizza1, albine, teatru1, tub, robot1, sir23, soldati1, concurs1, comb, expresii, arbnr, cod1, munte, shgraf, desc, lex, munte1, maxperm, role, avere, vizibil, prime1, hexa, patrat, carti2, puncte2, pact, aranjari, numere5, borg, acolor, sg1, perfect, cifru2, bile4, pviz, culmi1, piramida1, trapez, frunze, sir7, logic, coduri, jetoane, kperms, tablite, secvpar, lego, permutari, binperm, multiplu1, operatii, fotbal, kbiti, jucarii, bradut, expozitie, parbit, kmax, petrecere, tango, rege, cd1, cifru3, kcons, bubblesort, hawaii, randomizare, kdist, reuniune, echipa, ghinion, cavaleri, camera616, covor, subm, grupuri, pavari, asfalt, adunscad, rotund, sport2, arbore1, lant1, module, nrperm, oneton, nrpomi, cover1, nrpal, probleme, optim, poly, vot1, sudoku1, flori2, xnumere, showroom, cntgcd, subsets, nkd, nrgraf, spion1, puteri, stiva1, permtr, relatii, 2sah, matcnt, magic7, nmult, roua
Despre generare: taste, pluricex, balbe, magic3, formule, grup, zmeu, nr01, reteta2, playlist, pizza1, caini, 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
surse trimise | ajutor