(カックロ ) Ivo Ivanišević Ena Melvan

Slides:



Advertisements
Similar presentations
Kviz iz informatike Izradio: Dubravko Kišić. Izrada prezentacije Internet Proračunske tablice Kraj.
Advertisements

Visa MasterCard incoming / outgoing Aplikacija VMC
Pokušajmo otkriti značenje monotonosti funkcije..
FrontPage program za izradu web stranica
KAKO IZRADITI IGRU: Izrežite tabele, sličice, kartice, žetone. Ostavite 1mm bijelog ruba oko okvira. Nalijepite ih na karton u boji (hamer), jako lijepo.
Programi zasnovani na prozorima
Petlje WHILE – WEND.
FLASH MEMORIJE ili Flash EEPROM Nešto o flash memorijama.
Mentor: Kandidat: Prof. dr Radovan Stojanović Božidarka Radović
RP3/predavanje08 Ugniježdeni tipovi Iznimke 10/11/2018
4.1 Vizualni (grafički) HTML uređivači
Java Hello world !.
Algoritamske/programske strukture
Java Concurrency Overview
Programi,Podaci,Varijable,Računanje- Uvod
Uvod u projekte Rijeka,
Programiranje - Blokovi naredbi i logički tipovi –
Present Continuous Tense
Naredbe ciklusa.
The Present Perfect Continuous Tense
Projekat strukturnog kabliranja.
IF NAREDBA – naredba grananja
Quick Basic.
Petlje FOR - NEXT.
Konveksni omotač (red O(n log (n)))
1.1. (A) Koordinatna grafika
1.1. (A) Koordinatna grafika
Uvod u programiranje - matematika – X predavanje
Općenito (Kolokviji) Termin prvog kolokvija
Fonetska transkripcija i anotacija
14 UNUTRAŠNJE I ANONIMNE KLASE
Elementi programskog jezika PASCAL
Arrays and strings -1 (nizovi i znakovni nizovi)
LAPLACEOVA TRANSFORMACIJA
SUDOKU Ivo Doko Saša Buzov.
Naredba Case Višestruko grananje.
M-datoteke.
MessageBox.
DISKRETNI DINAMIČKI SUSTAVI –LOGISTIČKI MODEL -KAOS-
Pojmovi digitalnog zapisa
Internet FTP usluga.
PROGRAMSKI JEZIK PASCAL
Osnovni simboli jezika Pascal
FAKULTET KEMIJSKOG INŽENJERSTVA I TEHNOLOGIJE
Do While ... Loop struktura
Virtualizacija poslovnih procesa metodom „Swimlane“ dijagrama
MagistralA (bus) Milan Milovanovic I6.
Programiranje – Small Basic
posljednja faza razvoja podatkovnih komunikacija
Programiranje - Uvod - Kolegij: Programski jezik C++
Harmonijsko pretraživanje
EU Montenegro Inclusive Education Services Project (EU - MIESP)
Klasifikacija i stablo odlučivanja uz r
Sustavi za pracenje i vođenje procesa STATEFUL INSPECTION FIREWALL
Strukture podataka i algoritmi 5. VRIJEME IZVRŠAVANJA ALGORITMA
Skup instrukcija procesora
Fakultet elektrotehnike i računarstva
Naredbe u php-u.
Uvod u znanstveni rad Voditeljica: prof. dr. sc. Irena Cajner- Mraović
Programski jezik C++ - Vježbe - 5. dio
Donošenje odluka o karijeri
Programiranje - Naredbe za kontrolu toka programa – 3. dio
Programski jezik C++ - Vježbe - 1. dio
Oduzimanje brojeva od 1 do 5.
COME-IN! Pula, 25. srpnja
INTERPOLACIJA PO DIJELOVIMA POLINOMIMA
Vježbenica 2: struktura grananja – 2.dio
Oblikovanje programske potpore
Programski jezik C++ - Vježbe - 2. dio
Robot Robby „Growth creates complexity, which requires simplicity.” – A. Stanley.
Presentation transcript:

(カックロ ) Ivo Ivanišević Ena Melvan Kakuro (カックロ ) Ivo Ivanišević Ena Melvan

1.Uvod

Prvi put objavljen u Dell Magazine 1966.godine pod nazivom Cross Sum 1980. god u Japanu doživio pravi bum (izdavačka kuća Nikoli prodala preko milijon knjiga o njima) Dobiva naziv Kasan Kurosu (kombinacija japanske riječi za zbrajanje i izgovora riječi “cross”) 6.god kasnije naziv skraćen u Kakuro Prodor na zapad: tek 2005.god kada The Guardian i Daily Mail započinju sa njihovim dnevnim objavljivanjem

Kombinatorni problem raspodjele brojeva na ploči Cilj je ispuniti bijela polja prema zadanim uvjetima Zadan je broj kojeg treba rastaviti na određeni broj pribrojnika u retku/stupcu Pribrojnici smiju biti brojevi od 1,....,9 i ne smiju se ponavljati Npr. 6=1+2+3 ; 1+5 ; 2+4, ali NE 3+3

2.Implementacija 2.1 Programsko okruženje C++ windows okruženje

2.2 Implementacija ploče Tablica reprezentirana kao matrica koja se sastoji od klasa Elementi klase: stanje,s,p,r,tmpr,tmps,dr,ds Zašto? stanje=‘s’  (s,p,r,tmpr,tmps,dr,ds)=(7,0,0,0,7,0,2) stanje=‘r’  (s,p,r,tmpr,tmps,dr,ds)=(0,0,13,13,0,3,0)

Informacije se čitaju iz 3 datoteke VRIJEDNOSTI DULJINE STANJA X 9 Informacije se čitaju iz 3 datoteke VRIJEDNOSTI DULJINE STANJA (0,0,0,0,0,0,0) 2 2 X S (9,0,0,0,9,0,1) R P (0,0,9,9,0,1,0) (0,0,0,0,0,0,0)

2.3 Implementacija algoritma Backtracking algoritam Pretraživanje prostora stanja u dubinu 5 pomoćnih funkcija Osnova algoritma: -četiri “if bloka” koji određuju četiri moguća stadija upisa u matricu

if(x[r.first][r.second].dr>1 && x[s.first][s.second].ds>1) { if(x[r.first][r.second].tmpr-i>0 && x[s.first][s.second].tmps-i>0) x[t.first][t.second].p=i; x[r.first][r.second].tmpr=x[r.first][r.second].tmpr-i; x[r.first][r.second].dr=x[r.first][r.second].dr-1; x[s.first][s.second].tmps=x[s.first][s.second].tmps-i; x[s.first][s.second].ds=x[s.first][s.second].ds-1; if(backtrack(x,tmp,temp)==true) return(true); } else x[t.first][t.second].p=0; x[r.first][r.second].tmpr=x[r.first][r.second].tmpr+i; x[r.first][r.second].dr=x[r.first][r.second].dr+1; x[s.first][s.second].tmps=x[s.first][s.second].tmps+i; x[s.first][s.second].ds=x[s.first][s.second].ds+1;

3. Složenost algoritma Eksponencijalna složenost O(9ˆn),n broj slobodnih mjesta za upis Složenost uvelike varira ovisno o zadanom problemu U specijalnim slučajevima O(n)?!?!

4.Testiranja i… Testiranja su izvršena nad 3 ploče Dimenzije ploča 6*6, 8*8 te 16*16 Rješavanja većih problema otežano stvaranjem ispravnih datoteka za rad programa Dodatno je testirano vrijeme i brzina izvođenja programa

…rezultati Svi test primjeri su točno riješeni. Sva rješenja test primjera su imala vrijeme izvršavanja <0.5 sekunde Brzina izvodjenja je ispod 1μs za sva tri problema

4.Literatura http://www.iaeng.org/IJCS/issuesv37/issue_2/IJCS_37_2_01.pdf http://en.wikipedia.org/wiki/Kakuro http://www.krazydad.com/kakuro/ http://www.lamsade.dauphine.fr/~cazenave/papers/kakuro.pdf