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

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


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

Profesorul nostru de sport este bun prieten cu profesorul de matematică. Din acest motiv la ora de sport inventează tot felul de probleme şi apoi îi cere profesorului de matematică să le rezolve.
Azi la ora de sport participă N elevi, care poartă tricouri cu numerele 1, 2, ..., N. La începutul orei, cei N elevi se aşează în rând în ordinea p[1] p[2] ... p[N] (adică elevul cu tricoul p[1] se aşează pe poziţia 1 în rând, elevul cu tricoul p[2] stă pe poziţia 2, etc., poziţiile în rând fiind numerotate de la 1 la N de la stânga la dreapta). Profesorul de sport spune aşa: ″La comanda mea schimbaţi locurile astfel: pe poziţia i să se aşeze elevul care acum stă pe poziţia p[p[i]] (pentru fiecare 1≤i≤N)″.
De exemplu, dacă N=6 şi iniţial elevii s-au aşezat astfel: 3 1 4 2 6 5
După prima comandă: 4 3 2 1 5 6
Observaţi că pe poziţia 1 se află elevul 3 iar pe poziţia 3 se află elevul 4. După prima comandă pe poziţia 1 va ajunge elevul p[p[1]]=p[3]=4. Pe poziţia 2 se află elevul 1, iar pe poziţia 1 se află elevul 3. După prima comandă pe poziţia 2 va ajunge elevul p[p[2]]=p[1]=3...
După a doua comandă: 2 4 1 3 6 5
Observaţi că în configuraţia obţinută după prima comandă pe poziţia 1 stătea elevul 4 deci după încă o comandă va ajunge pe poziţia 1 elevul p[4], adică elevul 2. Pe poziţia 2 stătea elevul 3, deci după încă o comandă va ajunge pe poziţia 2 elevul p[3], adică elevul 4 etc.
După a treia comandă se obţine configuraţia 1 2 3 4 5 6
Iar după a patra comandă se revine la configuraţia iniţială.
Profesorul de sport îl întreabă pe profesorul de matematică: care este numărul minim de comenzi pe care trebuie să le dau astfel încât elevii să revină în configuraţia iniţială? Şi care ar fi cea mai mică configuraţie iniţială (considerând ordinea lexicografică) pentru care este necesar acelaşi număr minim de comenzi pentru a reveni la configuraţia iniţială.

Cerinţă

Scrieţi un program care să îl ajute pe profesorul de matematică să răspundă la cele două întrebări ale profesorului de sport.

Date de intrare

Fişierul de intrare sport2.in conţine pe prima linie un număr natural N reprezentând numărul de elevi. Pe cea de a doua linie se află N valori distincte cuprinse între 1 şi N reprezentând configuraţia iniţială a elevilor.

Date de ieşire

Fişierul de ieşire sport2.out va conţine două linii. Pe prima linie va fi scris un număr natural reprezentând numărul minim de comenzi ce trebuie date astfel încât elevii să revină la configuraţia iniţială. Pe cea de a doua linie vor fi scrise N valori distincte cuprinse între 1 şi N reprezentând cea mai mică configuraţie iniţială (considerând ordinea lexicografică) pentru care este necesar acelaşi număr minim de comenzi pentru a reveni la configuraţia iniţială.

Restricţii

1 ≤ N ≤ 500
• Valorile scrise pe aceeaşi linie în fişierul de intrare, respectiv în fişierul de ieşire sunt separate prin spaţii.
• Spunem că o configuratie p=(p 1, p 2, ..., p N) este mai mică din punct de vedere lexicografic decât o altă configuraţie q=(q1, q2, ..., qN) dacă există un indice k, 1≤k≤N astfel încât p i=qi, pentru orice 1≤i<k şi p k<qk.
• Numărul minim de comenzi ce trebuie să fie efectuate este ≤2000000000 (două miliarde).

Exemple

sport2.insport2.out
6 3 1 4 2 6 5 4 1 2 4 5 6 3

autor: Prof. Emanuela Cerchez
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONI 2011: macheta, butoane, acces, mxl, segmente, tsunami, tort1, ec, ape, poligon4, stalpi2, furnici1, telecab, ikebana, posta, fotbal1, xmoto, radare, pamant, fagure, goe, papusa, taburet, joc17, mesaj3, zar1, joc16, talent, xy, arbore1, robot3, copii, hacker, terenuri3d, terenuri, expresie2, poteci, joc18
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, caini, 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, 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 divizibilitate: celule, cai, trei, ruleta, an, factori, perechi, anagrame, axa, perspic, scara, programs, iepuras2, fry, policefm, turist, kfactor, cuc, prime, sqr, evaluare, factk, div3, divizor, euclid, stop, matricea, mutare, viteza, ingerasi, prieteni, robinson, romeo, perechi1, sume1, fact, tzigla, cifru2, elfi, vraji, desen2, exponent, trapez, resturi, exp1, ron, spirala1, gardul, tort, poligon3, sume2, smith, biliard, printesa, secvente1, ultime4, padure, multiplu1, 235, iepurasi, numar3, cmmmc, randomizare, divizori, pitag, bileprime, pin, canguri, numar4, jocprim, covor, nivfractie, cmmdcsecv, ai, grupe2, numerus, fagure, grad2, sumdivprod, oak, sumprod, paisprezece, numere10, proddiv, puncte4, trifoi, cartier, alune, intersectii, divider, minm, numere11, prodnr, boltz, vistiernic, secvp, extraprime, divizori1, cumpanit, cntgcd, nrdiv, numere12, daruri, imprimanta, puteri, reflex, tg, sprime, diferenta, concurs4, vapoare, inventie, prime2
Despre Greedy: lac, sumdif, checkin, baby, startrek, placi, gramezi, mese, jobs, politics, joc3, playlist, carte, exam, subperm, piloti, barca1, pitici, bombe, pic, bac, pal, antena, culmi, numar2, lover, sant1, volei1, ab3, camion1, aranjare, popas, reactivi, mesaj2, dp, jocv, segm, calorii, album, kdtree, telecab, dag, cifre4, micro, triburi, testament, nor, eoliene, vintage, cifre5, agenda, monede2, charlie, scadere, barci
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, caramele, 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, 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
Software recomandat
Chestionare recomandate
surse trimise | ajutor