U organizaciji skupine za Natjecateljsko računarstvo od 1. svibnja do 31.svibnja održava se
nagradna igra
"Bikovi, krave i kod"
Zadatak svakog natjecatelja je napisati program koji će znati pogoditi broj koji se sastoji od četiri različite znamenke i poslati taj program (C, C++ ili Python, otvoreni kod ili .exe) na e-mail adresu popularizacija.znanosti@ferit.hr .
Natjecatelj se može potpisati imenom i prezimenom ili bilo kakvom šifrom, no treba ostaviti podatak za kontakt u slučaju pobjede, odnosno za dodjelu nagrade.
Natjecatelj čiji algoritam najbrže pogodi broj koji smo mi zamislili, u najmanjem broju pokušaja, u prosjeku (bit će 10 testiranja za svaki poslani algoritam, tj. program ćemo ispitati na 10 različitih brojeva) bit će ukupni pobjednik i osvojiti nagradu, a top ljestvica natjecatelja (na kojoj će, kao i kod igre škare-kamen-papir-gušter-Spock biti ime koje nam je natjecatelj poslao ili šifra po želji) bit će oglašena na Fakultetskim internetskim stranicama.
Izvještaj o točnosti vašeg pokušaja (pokušaj se također mora sastojati od četiri različite znamenke) naš će algoritam davati na sljedeći način:
Nakon prvog pokušaja natjecatelja računalo će reći koliko je u pokušaju pogođenih brojeva koji su na pravom mjestu (takozvani „bikovi“ iz igre „bikova i krava“ ili „Mastermind“) te koliko je u vašem pokušaja pogođenih brojeva koji nisu na točnom mjestu u zamišljenom broju.
U drugom pokušaju izvještaj će reći je li predloženi broj manji (-1) ili veći (1) od zamišljenog.
U sljedećem pokušaju ponovo će ulaz biti broj bikova i krava, a u četvrtom je li broj manji ili veći od zamišljenog i tako dalje.
U slučaju pogotka u n-tom pokušaju natjecatelju se ukupni broj pokušaja povećava za n, a konačni pobjednik nagradne igre je natjecatelj koji ima najmanji zbroj svih pokušaja za svih 10 brojeva na kojima će se testirati natjecateljev poslani algoritam.
Primjer:
Mi odabiremo broj, npr. 8240.
Nakon toga pokrećemo vaš program i on ispisuje broj za kog ste ga vi isprogramirali da ga ispiše, npr. 1234. To je vaš prvi pokušaj u nizu pokušaja u kojemu želite pogoditi naš broj (zamišljeni 8240). Mi vašem programu upisujemo podatak 1 1 jer je pogodio jedan broj koji je na svom mjestu (broj 2) i jedan koji nije (broj 4).
Nakon toga vaš program ispisuje npr. 5012, a mi mu upisujemo -1 jer je 5012 manji od zamišljenog 8240.
Nakon toga slijedi, na primjer, sljedeći niz vaših pokušaja s našim odgovorom:
Pokušaj vašeg programa | Naš odgovor
6234 | 1 1
7501 | -1
8234 | 2 1
8501 | 1
8246 | 3 0
8247 | 1
8245 | 3 0
8240 | Ovo je pogodak, i to iz 8. pokušaja pa vašem broju pokušaja dodajemo 8.
Zamišljeni broj može počinjati s nulom.
Pravo sudjelovanja na nagradnoj igri imaju svi natjecatelji koji svoj kod za pogađanje broja pošalju do 31. svibnja na našu e-mail adresu popularizacija.znanosti@ferit.hr, bez obzira na stručnu spremu, starost, zaposlenje itd. Svaki natjecatelj kod može poslati samo jednom.
Konačnog pobjednika proglasit ćemo u utorak, 6. lipnja na sastanku naprednih programera i konačne rezultate objaviti na internetskim stranicama FERIT-a.
PROPOZICIJE:
1. Osim na gore navedenu e-mail adresu, kod se može donijeti uživo na sastanak grupe Natjecateljsko računarstvo, tj. svakog utorka u 18.30 u T 2-14. Dobrodošli ste.
2. Maksimalno vrijeme računanja za svaki pokušaj broja je 30 sekundi (program će se testirati na računalu s Intel i7 7700 procesorom).
3. Pravilo: "Svaki natjecatelj program može predati samo jednom."
mijenja se u "Svaki natjecatelj program može predati do tri puta" pri čemu će naravno samo najbolja inačica programa biti na top ljestvici najboljih rješenja.
4. Trenutačni poredak natjecatelja možete vidjeti ovdje:
https://docs.google.com/spreadsheets/d/1tIgQXOQ0RHnBoTocTTifNa3MYxnX9NcePXhqrKMdvTI/edit?usp=sharing
5. Prvih troje najboljih natjecatelja bit će nagrađeni FERIT-ovim paketima.
SRETNO 👍