Hide

Problem F
Största ön

Du ska skriva ett program som räknar ut hur stor den största sammanhängande ön är på ett sjökort. Sjökorten representeras av en textsträng med tecknen ’’ för vatten, och ’@’ för land. Givet ett sjökort som indata ska ditt program returnera antalet @-tecken i den största sammanhängande ön som finns på kortet. Två @-tecken anses tillhöra samma ö om de angränsar till varandra rakt i sid-led eller höjdled (diagonaler räknas alltså inte).

Indata

Alla indatafiler inleds med två tal, x och y, där x anger hur många rader som sjökortet har, och y anger hur många tecken det finns i varje rad. Du kan anta att 1 <= x <= 10 000, och 1 <= y <= 10 000. Därefter följer x st rader med y tecken i varje, som består av tecknen ’’ och ’@’.

Utdata

Ett heltal, som anger storleken på den största ön. Om det inte finns någon ö alls på sjökortet ska det korrekta svaret vara ’0’.

Sample Input 1 Sample Output 1
10 10
~~~~~~~~~~
~@~~~~~~~~
~~~~~~~~~~
~~~@@~~~~~
~~~@~~~~~~
~~~~~~~~~~
~~~~~~~~~~
~@@@@@@@@@
~~~~~~~~~~
~~~~~~~~~~
9
Sample Input 2 Sample Output 2
3 3
~~~
~@~
~~~
1
Hide

Please log in to submit a solution to this problem

Log in