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

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


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

La festivitatea de deschidere a ONI Ploieşti, Gigel, mare amator de probleme de logică a observat că primul rând din sală este format din 2*N+2 scaune, numerotate de la stânga la dreapta de la 1 la 2*N+2. Pe acest rând s-au aşezat, într-o ordine oarecare, N băieţi şi N fete, cele două scaune rămase libere fiind alăturate.
Imediat Gigel inventează o problemă. Să considerăm că singura mutare posibilă este ca doi elevi care stau pe scaune alăturate să se ridice şi să se aşeze (în aceeaşi ordine) pe cele două locuri libere.
Problema constă în determinarea unei secvenţe de mutări după executarea cărora toate fetele să fie grupate în stânga rândului, toţi băieţii să fie grupaţi în dreapta, iar cele două locuri libere să separe fetele de băieţi.

Cerinţă

Cunoscându-se valoarea N, precum şi aranjarea iniţială a elevilor, să se determine o secvenţă de mutări care să conducă în final la aranjarea descrisă în enunţul problemei.

Date de intrare

Fişierul de intrare aranjare.in conţine pe prima linie numărul natural N. Linia a doua a fişierului de intrare conţine un şir de 2*N+2 caractere (N caractere F, N caractere B şi două caractere alăturate S) care reprezintă aranjarea iniţială a elevilor pe rând şi cele două locuri libere. Mai exact, F indică un loc ocupat de o fată, B un loc ocupat de un băiat, iar SS reprezintă cele două scaune libere.

Date de ieşire

Fişierul de ieşire aranjare.out va conţine mutările din secvenţa determinată, în ordine, câte o mutare pe o linie. O mutare este descrisă printr-o valoare naturală K (1≤K<2*N+2) cu semnificaţia ″se vor muta pe scaunele libere elevii situaţi pe scaunele K şi K+1″.

Restricţii

3 ≤ N ≤ 5000
Pentru datele de test există totdeauna soluţie. Soluţia nu este unică.

Exemple

aranjare.inaranjare.outExplicaţii
3 FBSSFBFB 7 2 5 3 6 1 7 3 6 4 Se vor obţine pe rând configuraţiile:
FBFBFBSS
FSSBFBBF
FFBBSSBF
FFSSBBBF
FFBBBSSF
SSBBBFFF
FFBBBFSS
FFSSBFBB
FFFBBSSB
FFFSSBBB

autor: Prof. Marinel Şerban
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONI 2008: ab2, iepuras, palind, auto, div, teatru, pm, submat, reteta2, rezervatie, creioane, melci, mere2, felinare, joc3, 2numere, fi, tablou, borcane, mexc, tcast, dep, dist1, stiva, banda, pavare, poarta, bile4, subgeom, albinuta1, curent, pviz, atac2, virus
De acelaşi autor: premii, finala, fractii, trei, manevre, nrcuv, an, vopsea, opmat, tramvai, bipal, kpal, sarpe, replace, factori, barca, perechi, grupe, cod, reactii, factura, decript, trenuri, holo, cifre, firma, tribile, mesaj, tricouri, pajura, monede, programs, fry, repeat, red, pavaj, bacan, nrbinar, invest, cutie2, loc, depou, nr3, zid, felinare, sir3, sqr, carte, labirint, stea, count, evaluare, super, schimb, zaruri, vectori, spirala, desen1, rima, ceas1, romane, sms, bac, excursia, joc7, furnici, munte1, cezar, marcare, excursie1, culmi, sume1, schi, nr4, fractie, cod3, medii, tren3, top, sant1, imagine, ocr, perfect, pluton, reforma, alee, ceas2, paritate, borcane, comoara1, culmi1, reactivi, submult, sablon1, sir8, sume2, dansatori, smith, tom, matriosca, asociativ, control1, calorii, immortal, concat, mat, cubinvers, mine, divizori, cheie, stelar, joct, minmax, cladire, adunscad, razboi, ore, oras1, sumprod, prisme, operatii1, lgdrum, unupatru, chibrituri, extraprime, prieten, rebus1, grindina, opmult, betisoare, antitero, clase, pagini, ornament, ordine, spioni1
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, popas, reactivi, mesaj2, dp, jocv, segm, calorii, album, kdtree, sport2, telecab, dag, cifre4, micro, triburi, testament, nor, eoliene, vintage, cifre5, agenda, monede2, charlie, scadere, barci
surse trimise | ajutor