Spider este un păianjen care trăieşte în casa unui programator. De la acesta Spider a preluat pasiunea pentru numere şi pentru programe. Aşa stând lucrurile, Spider a hotărât să nu-şi mai ţeasă pânza în mod tradiţional, ci să folosească informaţiile aflate de la programator, abordând şi un stil de lucru metodic. Prin urmare,
Spider procedează astfel:
- alege puncte aşezate în cerc şi le numerotează de la la (în sensul acelor de ceasornic);
- calculează distanţele dintre oricare două puncte obţinând doar numere naturale distincte;
- alege un punct de plecare .
- stabileşte următoarea regulă pe care să o respecte când ţese pânza: în fiecare zi va ţese câte un fir: dacă numărul zilei este impar, atunci ţese firul de la punctul în care se află la punctul următor (de asemenea în sensul acelor de ceasornic, iar după punctul numerotat cu urmează punctul numerotat cu ), iar dacă numărul zilei este par Spider ţese un fir între punctul în care se află şi punctul în care ajunge sărind un punct;
- se opreşte atunci când ar trebui să ţeasă un fir între două puncte între care există deja un fir ţesut.
Cerinţă
Să se scrie un program care să rezolve următoarele cerințe:
- Să se afle numărul de zile necesar pentru a-şi ţese pânza şi punctul în care s-a oprit.
- Să se afle lungimile firelor ţesute împreună cu capetele lor, în ordinea descrescătoare a lungimilor firelor. Capetele firelor vor fi afişate în ordine crescătoare.
Date de intrare
Pe primele două linii a fișierului de intrare spider.in
se găsesc două numere întregi, și , reprezentând numărul de puncte alese și punctul de plecare. Pe următoarele linii se află câte distanțe , separate prin spațiu, reprezentând distanța dintre punctele și .
Date de ieșire
Pe prima linie a fișierului de ieșire spider.out
se vor găsi două numere întregi și , numărul de zile şi punctul în care s-a oprit Spider. Pe următoarele linii se vor afla câte trei valori, reprezentând lungimile firelor şi capetele lor, în ordinea descrescătoare a lungimilor firelor. Capetele firelor vor fi afişate în ordine crescătoare.
Restricții și precizări
- ;
- ;
- .
Exemplu
spider.in
4
2
0 5 8 7
5 0 3 10
8 3 0 4
7 10 4 0
spider.out
5 1
10 2 4
8 1 3
7 1 4
5 1 2
3 2 3
Explicație
În ziua Spider pleacă din punctul şi ţese un fir până la punctul . În ziua , din punctul ţese un fir până la punctul (sare punctul ). În ziua din punctul ţese un fir până la punctul . În ziua din punctul ţese un fir până la punctul (sare punctul ). În ziua din punctul ţese un fir până la punctul şi se opreşte.