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

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


Timp maxim de executie/test:
0.1 secunde
Memorie totala disponibila/stiva:
16 MB/1 MB

Sunt diriginte la o clasa a IX-a, clasa nu tocmai cuminte. Dupa primele saptamani de scoala am ajuns la concluzia ca trebuie sa rearanjez elevii in banci. Asa ca am numerotat scaunele de la 1 la n si am stabilit asezarea elevilor. De acum incolo voi considera ca elevul 1 este cel care sta pe scaunul 1, elevul 2 pe scaunul 2, s.a.m.d.
Evident, la primul control inopinat am gasit elevii asezati in cu totul alta ordine decat i-am asezat.
Prin urmare, le-am cerut sa isi reia asezarea pe care am stabilit-o.
Pentru a nu crea invalmaseala in clasa, am stabilit urmatorul procedeu de reluare a locurilor:
daca elevul i nu este la locul sau (deci pe scaunul i) se ridica, se duce la scaunul sau; daca scaunul sau este ocupat, elevul care statea pe scaunul i se ridica, pe scaunul i se aseaza elevul i, iar cel care s-a ridicat isi cauta locul in acelasi mod, pana cand ultimul elevul care s-a ridicat isi gaseste scaunul liber.

Evident, procedeul se repeta pana cand toti elevii sunt asezati la locurile lor.

Cerinta

Scrieti un program care sa determine de cate ori trebuie repetat procedeul astfel incat toti elevii sa fie reasezati la locurile lor.

Date de intrare

Fisierul de intrare loc.in va contine pe prima linie un numar natural n care reprezinta numarul de elevi din clasa.
Pe urmatoarele n linii este descris modul in care am gasit elevii asezati atunci cand am venit in control.
Mai exact, pe linia i+1 se afla numarul elevului care statea pe scaunul i.

Date de iesire

Fisierul de iesire loc.out va contine o singura linie pe care va fi scris un numar natural care reprezinta numarul de repetari ale prodedeului, necesare pentru ca toti elevii sa isi reia locurile.

Restrictii si precizari

1 <= n <= 1000

Exemplu

loc.in loc.out Explicatii
5
3
4
5
2
1
2

1. Elevul 3 se ridica, se duce la locul sau (scaunul 3); de pe scaunul 3 se ridica elevul 5, care se duce la locul sau, de pe care se ridica elevul 1, care isi gaseste locul liber.
2. Se ridica elevul 4, se duce la locul sau (scaunul 4), de pe care se ridica elevul 2, care se duce la scaunul sau pe care il gaseste liber.

Marinel Serban
Liceul de Informatica "Grigore Moisil" Iasi
marinel_serban@yahoo.com

propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la .campion 2005: cuc, prime, radio, text2, honest, police, comori, patrate3, fisc, ref, pcod, zmeu, nr01, scor2, judete, strict, convert, bile3, cod2, depou, auto2, tree, cat, nr3, chimie2, compress, jobs, leaves, zid, politics, onu2, ploaia, grazing, pstring, cartonase2, exp, cartoane, sir3, program, scoici, playlist, sqr, cai1, farfurii, joc1, trafic, carte, set, barbie, labirint, firma1, vile, game, donald, ambigram, dans, albinuta, rlcs, stea, submatrix, cub1, ham, sponsori, young, jokes, pizza1, albine, lot, atac1, monede1, count, exam, herbert, sudoku, bio, metro
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, 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, aranjare, 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 simulare: lbd, iepuras, tren2, mgo, joc2, kafka, comori, bile3, cat, felinare, spioni, lift, kalah, cutii, roboti, pesti, zar1, joc16, safeu, joc20, dame, conjectura, arc, wb, robot6
surse trimise | ajutor