Update 26/02 : ada kesalahan kecil pada file BFS, koreksinya sudah bisa didownload.

Harus dikuasai :

  • Flood Fill : algoritma untuk mencari ada berapa ‘clusters’ atau ‘pulau’ dari peta yang diberikan.

input:

Baris 1 : banyak baris (r) dan banyak kolom(c)

Baris 2..r+1 : setiap baris berisi c buah bilangan, menggambarkan kondisi peta. -1 adalah laut, 0 adalah daratan.

Task :

daratan yang tersambung termasuk dalam 1 pulau.

1. keluarkan ada berapa pulau yang ada di peta.

2. nomori pulau2 tersebut terurut dari pulau yg ada di paling kiri atas. bila posisi itu adalah lautan, nomornya 0. outputkan nomor2 ini.

Solusi [*.pas]

  • Depth-First Search : algoritma mencari jalan keluar ‘maze’ dgn menelusuri satu jalan spesifik sampai terhambat, lalu kembali /backtracking dan mencoba jalan lain.

input:

Baris 1 : banyak baris (r) dan banyak kolom(c)

Baris 2..r+1 : setiap baris berisi c buah bilangan, menggambarkan kondisi peta. -1 adalah jalan tidak bisa dilalui, 0 adalah bisa dilalui.

baris r+2 : posisi baris start(startr) dan kolom(startc)

baris r+3 : posisi baris pintu keluar (endr) dan kolom(endc)

output:

1 bilangan : banyak langkah minimum untuk mencapai pintu keluar.

Solusi[*.pas]

  • Breadth-First Search : algoritma mencari jalan keluar ‘maze’ dgn menyebar – membuka langkah satu per satu.

problem sama dengan DFS.

Solusi[*.pas]

Latihan :

To be added : problems, solution

 

2 Responses to Graf Dasar

  1. roni says:

    Terimakasih banyak atas infonya…

  2. adit says:

    kak veni, apakah contoh file .pas flood fill nya udah pasti betul, nga ada yg salah? bukannya function flood fillnya prosesx gak terbatas? krn if -nya pasti bernilai true terus kan?

    procedure floodFill(plc,ri,ci:integer);
    begin
    if ((ri >= 1) or (ci >=1) or (ri <= r) or (ci <= c)) then begin
    ar[ri,ci] := -1;
    pulau[ri,ci] := plc;
    floodFill(plc,ri+1,ci);
    floodFill(plc,ri-1,ci);
    floodFill(plc,ri,ci+1);
    floodFill(plc,ri,ci-1);
    end;

    end;

    ato apa sy yg salah? mohon bimbingannya kak, maklum baru blajar kak hehehe.. thanks a lot

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Set your Twitter account name in your settings to use the TwitterBar Section.