În pădurea cu alune aveau case pitici numerotați de la la , vine veverița și spune ”Vreau să stau și eu aici!”.
Cele căsuțe sunt așezate în linie și fiecare căsuță este identificată printr-o plăcuță pe care este scris un număr. Prima căsuță este a piticului numerotat cu și are plăcuța cu numărul , cea de-a doua căsuța este a celui de-al doilea pitic și are plăcuța cu numărul , și așa mai departe, ultima căsuță este cea a piticului cu numărul și are plăcuța cu numărul . Auzind că veverița vrea să intre într-o căsuță niciun pitic nu vrea să o primească în căsuța lui.
Într-o zi, după ce piticii au plecat de acasă, veverița de supărare a luat plăcuțele de pe căsuțe, le-a amestecat și a pus câte o plăcuță în fiecare căsuță. La întoarcere, piticii văd că nu mai au plăcuțe pe case și fiecare dintre ei trebuie să-și recupereze plăcuța propriei case. Fiecare pitic intră în casa lui, găsește plăcuța de acolo și se deplasează în căsuța cu numărul de ordine egal cu numărul scris pe plăcuța găsită. Apoi, continuă în același mod cu noua plăcuță găsită, până când piticul descoperă plăcuța cu numărul casei lui. În timpul căutării unei plăcuțe, se poate întâmpla ca un pitic, din cauza plăcuței găsite în acel moment să meargă de la căsuța la care se află la una din căsuțele aflate în stânga ei. Aceasta se consideră o întoarcere pe parcursul căutării.
Cerință
Să se scrie un program care să determine:
- câți dintre pitici își găsesc propriile plăcuțe în casele lor;
- care este cel mai mare număr de căsuțe vizitate de un pitic până când își găsește propria plăcuță (se numără începând cu căsuța proprie până la căsuța care conține plăcuța căutată, inclusiv aceasta)
- piticul care a vizitat cele mai multe căsuțe și a făcut cele mai puține întoarceri. Dacă există mai mulți pitici care să îndeplinească aceste condiții, să se afișeze piticul cu numărul cel mai mic.
Date de intrare
Din fișierul de intrare case.in
se citesc de pe prima linie numărul care reprezintă numărul căsuțelor. De pe cea de-a doua linie, se citesc numere, despărțite prin câte un spațiu, care reprezintă numerele plăcuțelor puse de veveriță în căsuțe.
Date de ieșire
În fișierul de ieșire case.out
se va scrie pe prima linie un singur număr care reprezintă câți dintre pitici își găsesc propriile plăcuțe în casele lor. Pe a doua linie se va scrie un singur număr natural reprezentând cel mai mare număr de căsuțe vizitate de un pitic până când își găsește propria plăcuță. Pe cea de-a treia linie se va scrie un singur număr care reprezintă piticul care a vizitat cele mai multe căsuțe și a făcut cele mai puține întoarceri; dacă există mai mulți pitici care să îndeplinească aceste condiții, se afișează piticul cu numărul cel mai mic.
Restricții și precizări
- Se acordă punctaje parţiale: din punctaj pentru cerinţa , din punctaj pentru cerinţa şi din punctaj pentru cerinţa .
Exemplu
case.in
4
3 2 4 1
case1.out
1
3
1
Explicație
Sunt 4 căsuțe:
După ce veverița ascunde plăcuțele în căsuțe:
Plăcuțe găsite de piticul : , a vizitat căsuțe, întoarceri
Plăcuțe găsite de piticul : , a vizitat o căsuță, întoarceri
Plăcuțe găsite de piticul : , a vizitat căsuțe, întoarceri
Plăcuțe găsite de piticul : , a vizitat căsuțe, întoarceri
Cel mai mare număr de căsuțe vizitate de un pitic este . Dintre piticii , și care au vizitat exact căsuțe, doar piticul are întoarceri.