Krv


Submit solution

Points: 40 (partial)
Time limit: 1.0s
Memory limit: 500M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Perl, Python

ŽUPANIJSKO NATJECANJE 2015. / Srednja škola, I. podskupina (1. i 2. razred) - 1. zadatak

Krvna grupa je karakteristika ljudskog organizma, a sustav grupa pojednostavljeno možemo opisati na sljedeći način:

  • Genotip se sastoji od para alela gdje je svaki alel tipa A, B ili 0 (nula). Budući da ne razlikujemo koji je prvi, a koji drugi alel, postoji ukupno šest različitih genotipova koje u ovom zadatku uvijek označavamo nizovima od dva znaka i to točno redom: A0, AA, B0, BB, AB, 00.

  • Fenotip ili krvna grupa slijedi iz genotipa po pravilu da su A i B dominantne nad 0, i međusobno kodominantne što znači da:

    • Osobe genotipa A0 i AA imaju krvnu grupu A.
    • Osobe genotipa B0 i BB imaju krvnu grupu B.
    • Osobe genotipa 00 imaju krvnu grupu 0.
    • Osobe genotipa AB imaju krvnu grupu AB.

Dijete od svakog od roditelja nasljeđuje po jedan alel. Na primjer, ako jedan roditelj ima genotip A0, a drugi BB, onda su njihove krvne grupe A i B redom, dok dijete može imati genotip AB ili B0 što odgovara krvnim grupama AB i B redom.

Zadana je populacija od N ljudi te je za svakog od njih analizom utvrđen genotip. Napišite program koji će za svaku osobu odrediti njenu krvnu grupu te će, dodatno, odrediti veličinu najveće skupine osoba za koju je moguće da su svi međusobno braća i sestre odnosno da su svi djeca istog para roditelja.

Ulazni​ podaci

U prvom redu nalazi se prirodni broj, N (1 ≤ N ≤ 100) - broj osoba u populaciji.

U sljedećem redu nalazi se N oznaka genotipa odvojenih jednim razmakom. Oznaka genotipa se sastoji od točno dva znaka, a svaki znak je ili 'A' ili 'B' ili '0' (nula). Svaka oznaka bit će jedna od šest oznaka definiranih u tekstu zadatka ('A0', 'AA', 'B0', 'BB', 'AB', '00').

Izlazni podaci

U prvi red potrebno je ispisati N oznaka krvnih grupa odvojenih jednim razmakom. Oznaka krvne grupe je niz od jednog ili dva znaka i to točno jedna od četiri mogućnosti: ‘A’ ili ‘B’ ili ‘AB’ ili ‘0’ (nula).

U drugi red potrebno je ispisati jedan prirodni broj - veličinu najveće skupine potencijalnih braće i sestara kao što je opisano u tekstu zadatka.

Bodovanje

Ukoliko je prvi red izlaza ispravan natjecatelj dobiva 50% bodova za taj test podatak. Ukoliko je prvi red neispravan, natjecatelj dobiva nula bodova čak i ako je drugi red ispravan.

Primjeri test​ podataka

Ulaz
3
AB 00 AA
Izlaz
AB 0 A
2

Ulaz
6
AA A0 AB B0 BB A0
Izlaz
A A AB B B A
5
Objašnjenje

Ako su roditelji genotipa AB i A0 onda je moguće da svaka osoba iz populacije bude njihovo dijete osim osobe s genotipom BB. Dodatno, ne postoje dva genotipa koji mogu dati sve osobe iz zadane populacije – ako roditelji imaju djecu genotipova AA i BB onda je nužno da oba roditelja imaju genotip AB pa je nemoguće da, primjerice, imaju dijete s genotipom A0.


Ulaz
8
A0 AA BB AB AB AA BB AB
Izlaz
A A B AB AB A B AB
7

Comments

There are no comments at the moment.