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

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


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

Fierarul Erik are la dispoziție un lanț (cu două capete) compus din N verigi.
El vrea să facă în așa fel încât tăind câteva verigi din lanțul inițial și recompunând lanțurile rezultate, să poată obține orice lanț cu lungimea din mulțimea {1 , 2 ,…, N}. Lungimea unui lanţ este numărul de verigi din care este format lanţul.
El dorește însă ca numărul de tăieturi de verigi să fie minim.
Recompunerea unui lanț de poate face prin unirea a două lanțuri cu o verigă tăiată sau prin lipire (când nu este necesară o verigă de legătură):


Cerinţă

Fierarul Erik dorește să afle care este numărul minim de tăieturi necesare pentru a obține lanțuri care să îndeplinească cerințele problemei.

Date de intrare

Fișierul de intrare verigi.in conține pe prima linie numărul natural N, reprezentând numărul de verigi din lanțul inițial.

Date de ieşire

Fișierul de ieșire verigi.out conține pe prima linie numărul minim de verigi care trebuie tăiate.

Restricţii

1≤N≤13∙108
• Se consideră că tăietura verigii a și tăietura verigii (N-a) sunt echivalente (nu se ia în considerare simetria)
• Considerăm verigile tăiate ca fiind lanțuri de lungime 1.

Exemple

verigi.inverigi.outExplicaţii
9 2 O posibilă succesiune cu număr minim de tăieturi este 4, 7. Astfel, cu lanțuri de lungime 3, 1, 2, 1, 2 se pot obține lanțuri de orice lungime cuprinsă între 1 și 9



autor: Tudor Olariu
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la Science Week 2011: slide, kubus2
Despre programare dinamică: vedete, fbr, tgv, zeratul, rv, comun, retea, circuit, sumdif, copaci, drum, text, palind, joc, vikingi, rafturi, balaur, plimbare, party, pc, pioni, seif, iepuri, numere3, perm, ture, bilete, prop, ro, reduceri, cuburi, invest, cutie2, stalpi, nr2, judete, strict, auto2, tree, jobs, leaves, pstring, program, datorii, senzori, farfurii, joc1, barbie, ambigram, rlcs, cub1, bio, chimie1, otilia, pasune, remi, sir23, tren1, joc5, pachete, echipe, comb, agitatie, ivv, peste, pitici, pipe, shgraf, tabara1, stop, randuri, zidar, log, sant, produs, subsir, cover, bcast, emax, dist, mesaj1, imax, avere, asmax, raft, suma2, joc12, fni, nr4, join, transport, masina3, lsort, microvirus, fat, cafea, echipe1, anticip, bsir, diamant, petrom, evantai, spion, acolor, evo, bombo, lacusta, lant, team, pitici1, numere8, dep, stiva, subgeom, pviz, tir1, cabane, piramida1, mosia, cuvinte1, gaina, materom, sortari, turnuri, trans, politie, codul, dansatori, nkbiti, kperms, treegame, siruri2, 123, jucarii, bradut, joc15, expozitie, text3, ic, echilibru, distsir, kmax, stalpi1, gaz, triunghi2, v2d, cuiburi, mine, orientare, activ, secvbiti, kcons, pokemon, ubergraf, left, acerc, autostrazi, kdist, select, cazare, fluviu, telecomanda, parcela, pion, subs, suma4, sirmax, bdotcom, viena, sablon2, telecab, ikebana, radare, hacker, obstacole, robotel, centrala, cds, wg, minusk, radioactiv, enigma, jb, efect, maxviz, ripstick, progresii, maxtri, combcuv, blis, subsiruri, mijloc, probleme, unuzero, palindrom1, minerale, speed, zmax, spider, cntgcd, interclasare, bus, pariuri, riglef, fractii2, fall, arbsum, conuri, arbvalmax, procente, metrou
Despre căutare binară: gropi, pod, uscat, checkin, copaci, aven, br, furtuna, livada, numar, matrice, sume, bacan, toys, chimie2, trafic, ants, multiplu, ghici, sirag1, tabara, puncte1, centru, harta1, salvare, spion, poze, dist1, patrate5, resturi, lanterna, sea2, vot, standard, cantor, medalii, binperm, mobil, stalpi1, expo, miere, conferinta, subs, pack, obstacole, dag, acoperire, bradut2, triburi, intervale, mijloc, patru, eliminare, vectori1, calcule, secvp, dreapta, colina, ssk, robotics, cabana
surse trimise | ajutor