Ahli100 XPUnit 14: Grid dan Graf, soal 3 dari 8

Hitung Pulau

Hitung banyaknya pulau dan luas pulau terbesar di peta.

Indonesia punya lebih dari 17 ribu pulau. Peta satelit diubah menjadi kotak-kotak: # untuk daratan dan . untuk laut. Daratan yang bersebelahan ke atas, bawah, kiri, atau kanan termasuk pulau yang sama.

Masukan

Baris pertama berisi R dan C (keduanya 1 sampai 100). R baris berikutnya berisi peta sepanjang C karakter.

Keluaran

Dua baris: Pulau: X banyaknya pulau, dan Terbesar: Y banyaknya kotak daratan di pulau terbesar. Bila tidak ada daratan, keduanya 0.

Contoh masukan dan keluaran

  1. Contoh 1

    Masukan

    4 6
    ##..#.
    #...##
    ..#...
    .###.#

    Keluaran

    Pulau: 4
    Terbesar: 4

Petunjuk

Coba kerjakan dulu. Buka petunjuk satu per satu kalau kamu buntu.

Petunjuk 1

Telusuri setiap kotak. Begitu bertemu daratan yang belum dikunjungi, berarti kamu menemukan pulau baru.

Petunjuk 2

Dari kotak itu, jelajahi seluruh pulaunya dengan BFS atau DFS sambil menandai kotak yang sudah dikunjungi dan menghitung luasnya.

Pelajari dulu konsepnyaPenelusuran graf: BFS dan DFSStruktur Data

Soal lain di unit Grid dan Graf

Soal berikutnya: Keluar dari Labirin

Latih logika sedikit setiap hari

Ada soal harian dengan XP ganda dan liga mingguan yang dimulai dari nol setiap Senin.

Lihat semua tantangan