Cerința
În cadrul unui experiment de inginerie genetică, un grup de cercetători desfășoară seturi de analize ample asupra unei secțiuni a genomului uman. Scopul studiului este selectarea unor succesiuni optime de hibridizări dintre doi cromozomi.
Genomul analizat are în componența sa cromozomi interconectați prin mecanisme de crossing-over unidirecțional ce permit schimburi eficiente de gene care favorizează apariția mutațiilor și evoluția per ansamblu a genomului. Fiecare mecanism de crossing-over are un coeficient specific de transfer, , care se definește prin numărul de gene pe care le poate transmite la un moment dat de la cromozomul la cromozomul .
Interesul cercetătorilor se concentrează asupra unei perechi speciale de cromozomi, și . Se definește drept succesiune validă de cromozomi o succesiune care începe cu cromozomul , se termină cu cromozomul și nu conține de ori același cromozom. Se cere identificarea primelor succesiuni valide din punct de vedere al sumelor coeficienților de transfer.
Succes!
Date de intrare
Pe prima linie a fișierului de intrare chromosome.in
se află valorile: – numărul de cromozomi per secțiunea de genom, – numărul de mecanisme de crossing-over, – numărul maxim de succesiuni de recombinări care trebuie determinate, și – perechea de cromozomi speciali.
Pe următoarele linii se află câte o tripletă de forma , , definită astfel: există mecanism de transfer unidirecțional de la cromozomul la cromozomul având coeficientul specific .
Date de ieșire
Pe prima linie a fișierului de ieșire chromosome.out
se va afișa valoarea – numărul de succesiuni de combinări găsite ( sau mai puține), iar pe următoarele linii descrierile succesiunilor:
- pe prima linie a succesiunii se vor afișa două valori: – costul succesiunii și – numărul de cromozomi implicați în succesiunea ;
- pe a doua linie a setului se vor afișa cei cromozomi în ordinea în care aceștia apar în succesiunea .
Restricții și precizări
- Se garantează pentru fiecare test că există cel puțin o succesiune de recombinări între cromozomii și ;
- Succesiunile se vor afișa în ordine crescătoare a costurilor, iar la costuri egale în ordine colexicografică a cromozomilor implicați;
- În cazul în care nu există succesiuni se vor afișa doar cele găsite;
- ;
- ;
- ;
- ;
- .
Exemplu
chromosome.in
6 8 4 6 4
5 3 3
5 1 1
6 5 1
2 1 4
2 6 3
3 4 2
1 3 1
6 1 2
chromosome.out
3
5 5
6 5 1 3 4
5 4
6 1 3 4
6 4
6 5 3 4