Bowling


Submit solution

Points: 70 (partial)
Time limit: 5.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Assembly, Awk, C, C++, Java, Perl, Python

Državno natjecanje 2013. / Osnovna škola (7. razred) - 2. zadatak

Bowling je sportsko zabavna društvena igra slična našem kuglanju.

Prvi tragovi kuglanja pronađeni su još u starom Egiptu, a današnji bowling postoji od 1895. godine kada je u New Yorku osnovan prvi bowling savez.

Opišimo pravila ove igre i način bodovanja koji je prilagođen uvjetima ovog zadatka.

Cilj ove igre je baciti tj. zakotrljati bowling kuglu po stazi i pri tome kuglom oboriti što više čunjeva koji stoje složeni na drugom kraju staze.

Ukupno ima 10 čunjeva koji su postavljeni u obliku trokuta. Igra je sastavljena od 10 okvira (eng. frames).

U svakom od prvih devet okvira, igrač može dva puta baciti kuglu.

Bodovanje u bowlingu je posebno jer se ne sastoji samo od jednostavnog zbrajanja srušenih čunjeva nego postoji i dodatno nagrađivanje igrača.

Promotrimo tri ishoda kojima može završiti jedan okvir te pripadajuće načine bodovanja:

  • ako igrač nakon dva bacanja u jednom okviru nije uspio srušiti sve čunjeve, tada se za broj osvojenih bodova u tom okviru uzima broj srušenih čunjeva;

  • ako igrač sve nesrušene čunjeve iz prvog bacanja sruši prilikom drugog bacanja (eng. spare), tada je broj osvojenih bodova u tom okviru 10 plus broj srušenih čunjeva prilikom sljedećeg bacanja;

  • ako igrač u prvom bacanju sruši svih 10 čunjeva (eng. strike), tada je broj osvojenih bodova u tom okviru 10 plus broj srušenih čunjeva u sljedeća dva bacanja. Drugo bacanje u tom okviru se ne izvodi.

U desetom okviru igrač može baciti kuglu najviše tri puta.

Naime, ako igrač tijekom desetog okvira postigne spare tada dobija jedno, a ako postigne strike dva dodatna bacanja.

Na kraju igre, kada su poznati ishodi svih bacanja, kreira se konačan broj osvojenih bodova po okvirima.

Napiši program koji će na osnovu zadanih ishoda svakog bacanja u deset odigranih okvira ispisivati broj osvojenih bodova u svakom odigranom okviru.

Napomena: ulazni podaci poštovat će ovako zadana pravila ove igre.

ULAZNI PODATCI

U prvom retku nalazi se jedan prirodan broj N (11 ≤ N ≤ 21), broj bacanja kugle tijekom igre.

U sljedećih N redaka nalazi se po jedan cijeli broj Ki (0 ≤ Ki ≤ 10, 1 ≤ i ≤ N), broj srušenih čunjeva u i-tom bacanju kugle.

IZLAZNI PODATCI

U 10 redaka treba ispisati po jedan cijeli broj, pri čemu vrijedi da je vrijednost u prvom retku broj osvojenih bodova u prvom okviru, vrijednost u drugom je broj bodova u drugom okviru i tako sve do vrijednosti u desetom koja je broj bodova u desetom okvira.

PRIMJERI TEST PODATAKA

Ulaz
20
9
0
3
5
6
1
3
6
8
1
5
3
2
5
8
0
7
1
8
1
Izlaz
9
8
7
9
9
8
7
8
8
9
Ulaz
21
9
0
3
7
6
1
3
7
8
1
5
5
0
10
8
0
7
3
8
2
8
Izlaz
9
16
7
18
9
10
18
8
18
18
Ulaz
18
7
3
8
1
10
10
10
8
2
0
10
6
2
8
2
10
10
9
Izlaz
18
9
30
28
20
10
16
8
20
29

Comments

There are no comments at the moment.