ultima problemă
grupă: micăsursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
.campion
palc
Timp maxim de execuţie/test:
0.1
secunde
Memorie totala disponibilă/stivă:
2
MB/1 MB
Un şir de caractere se numeşte palindrom dacă se citeşte la fel de le stânga la dreapta şi de la dreapta la stânga, de exemplu "capac", "12321".
Şirul se va numi palindrom ciclic dacă se transformă în palindrom prin o serie de permutări ciclice a elementelor sale. O permutare ciclică a elementelor şirului de caractere este deplasarea lor cu o poziţie spre stânga (în acest caz primul element trece în ultima poziţie) sau spre dreapta (ultimul element trece în prima poziţie) De exemplu, AABB se transformă în ABBA prin o singură permutare ciclică la stânga; 345432112 – prin două permutări ciclice la dreapta (23453211; 123454321) sau prin şapte permutări (454321123; 543211234; 432112345; 321123454; 211234543; 112345432; 123454321).
Cerinţă
Scrieţi un program, care să determine dacă un şir dat de caractere este un palindrom ciclic sau nu, precum şi numărul minim de permutări ciclice ale şirului de caractere, care îl transformă în palindrom.
Date de intrare
Fişierul de intrare palc.in va conţine o singură linie pe care va fi scris şirul de caractere S .
Date de ieşire
Fişierul text palc.out va conţine o singură linie pe care va fi scris un singur număr întreg: -1 , dacă şirul de caractere S nu poate fi transformat în palindrom prin permutări ciclice, respectiv numărul minim de permutări ciclice care transformă şirul de caractere S în palindrom.
Restricţii
Lungimea şirului de caractere S <= 200
Şirul de caractere S poate conţine numai litere, cifre şi spaţii.
Exemple
palc.in
palc.out
palc.in
palc.out
palc.in
palc.out
2341
-1
aab
1
345432112
2
Articole recomandate
Probleme recomandate
De la .campion 2009 : efort , muzeu , bal , seti , basm , dansatori , smith , timer , secvsir , vot , cetati , reziduu , biliard , prefix1 , accesibil , dp , jocv , placa , prod3 , predecesor , standard , cantor , nkbiti , nori , triti , kperms , sotron1 , impozit , tablite , fazan , lanturi , secvpar , tom , joker , matriosca , asociativ , lego , medalii , permutari , cfr , treegame , scanduri , site , fotbal , links , kbiti , segm , album , iepurasi , jucarii , m4 , bradut , trmv , colorare , greutati , concat , graphgame , ic , echilibru , brazi , mat , cubinvers , mobil , distsir , parbit De acelaşi autor : nice , fib , atac , mere , ff , patrate , astre , baby , zapada , pendul , unu , dragon , placi , druid , bete , comori , ploaia , lot , arcas , factk , robot1 , kalah , cetati , expo , porumb , universitate , safeu , capra , zuma , gsm , megascoala Despre vector : trei , simetric , egal , ruleta , pod , uscat , afise , an , bunici , cursa , onu , tramvai , cadou , kpal , expresie , piticot , roci , petrol , grad , ruleta2 , ecran , palma , concurs , holo , ab2 , tren2 , cifre , mgo , firma , anagrame , joc2 , br , maxim , astre , numere2 , baby , zapada , hd , startrek , vecini2 , drept , teatru , tir , patrate2 , nr , cifra , repeat , unu , criptare , ratb , placi , sume3 , turist , matrice3 , pavaj , sume , kafka , bacan , spair , grup , friends2 , bitslang , fisc , scor2 , cat , nr3 , chimie2 , zid , politics , submat , reteta2 , rezervatie , creioane , felinare , 2numere , exp , scoici , patrate1 , playlist , sqr , carte , oua , turn , ants , div3 , jeton , politic , trecere , maraton , zaruri , suma1 , mere1 , agitatie , lacuri , secv , sotron , triunghi , carti1 , spioni , kalah , excursia , matricea , maxq , oras , furnici , baschet , ingerasi , numar1 , prieteni , aritma , cezar , bifo , pal , seceta , bare , soricel1 , antena , avere , paianjen , bloc , schi , suma3 , fractie , tunel , pepsi , prefix , tren3 , avion , premii1 , csir , top , bsir , secvente , cod4 , cuburi3 , limbaj , panouri , sant1 , zumzi , sport1 , baschet1 , mere3 , powerpuff , placare , sir4 , volei1 , tabel , ocr , numere7 , lacusta , flori , pluton , elfi , mare , grupe1 , maroco , cartonas , cabina , case , cod5 , furnica , numere8 , paritate , comoara1 , exponent , control , exp1 , joc13 , popas , reactivi , siruri1 , vanatoare , submult , text1 , taxe1 , visul , paranteze , puncte3 , cub3 , numere9 , panglica , pietre , poartas , sume2 , bal , secvsir , vot , prefix1 , accesibil , standard , bursa , meteo , jetoane , printesa , palindrom , joker , matriosca , loto , cuvant , cladiri1 , secvente1 , zar , tren4 , asociativ , lego , medalii , figura , joc14 , neuroni , char , dartz , turism1 , calorii , xor1 , paltrei , album , livada1 , colorare , greutati , brazi , submatrix1 , plaja , cd1 , cifru3 , permutare , miere , tetris1 , conferinta , atelier , radical , bileprime , nx , atletism , sumb , minmax , sumacifre , jocprim , sircifre , cmmdcsecv , secvb , siruri3 , cifru4 , vase , carte1 , grad1 , litere , magic6 , macheta , butoane , ec , stalpi2 , fagure , goe , papusa , taburet , mesaj3 , zar1 , joc16 , talent , joc18 , cos , punctfix , risipa , liste , triburi , nr0 , oneton , nor , nrpomi , paisprezece , anagramabil , zuma , joc20 , dale , perechi2 , consiliu , becuri2 , codpatrat , adprod , qtri , reconst , arme , triunghi4 , deal , ozn1 , cifru5 , flori1 , elicop , roata , trifoi , maxbin , culori2 , numar5 , bile6 , proiecte , alune , cuburi4 , sstabil , intersectii , copaci2 , 7segmente , amedie , drept2 , divider , eliminare , matd3 , prodnr , fraze , vectori1 , compar , unific , galbeni , clepsidru , calcule , puncte6 , maxp , cursa1 , secvp , swap , extraprime , onigim , divizori1 , remi1 , tetris3 , amestec , eoliene , split , momente , secvente2 , ausoara , aranjare2 , vintage , binremove , sminus , subsets , interclasare , palindromuri , colina , doitrei , rebus1 , tcif , munte3 , triunghi6 , schi1 , rascoala , solitar , praslea , vot2 , tema , sprime , sir2dif , aperm , unudoi , prajituri , tan , concurs4 , ech , arc , dominant , ordine , tv1 , nebuni , sort2dist , lightbot , iepuras1 , castig Despre structura repetitiva : cifre1 , super , schimb , jeton , descfib , taxe , romane , mobile , cuburi3 , tzigla , morse , powerpuff , multimi , ucif , tabel , ocr , numere7 , cifre2 , piramida , vraji , reforma , cartonas , cabina , case , desen2 , exponent , cifre3 , concurs3 , joc13 , reactivi , vanatoare , submult , paranteze , tort , copaci1 , ogorul , puncte3 , efort , muzeu , smith , biliard , prod3 , fazanr , cadouri , bursa , meteo , prodmax , zar , tren4 , lego , maraton1 , cluburi , domino1 , jump , alo , cifra1 , case1 , brazi , greiere , divizori , pitag , porumb , secv9 , divk , rachete , pin , sumacifre , aritm , psp , triplu , triunghi3 , cmmdcsecv , ssmax , ape , furnici1 , domino2 , acoperire1 , ore , pegals , b2k , sumdivprod , subsecvmax , dale , bancomat , sume4 , alice , porumb1 , albine2 , culegere , stele1 , medalion , cifreco , meteo1 , unupatru , xyz , vistiernic , chibrituri , bete1 , greieri , interviu , prieten , prize , conturi , numere12 , martisoare , piramide , pagini , punctul , tablita , pavare1 , ordine , covor1 , speciale , echer , numere13