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 ’$\sim $’ 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 ’$\sim $’ 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

Please log in to submit a solution to this problem

Log in