Island Cargo and Passenger Company Cənubi Sakit okean adalarının bir çoxu üçün avtobus xidməti göstərməyi planlaşdırır. Hər bir ölkə bir neçə adadan ibarətdir, bəziləri körpülərlə birləşdirilib. Xərcləri azaltmaq üçün şirkət mümkün qədər az sayda avtobusdan istifadə etmək istəyir. Hər bir adanın avtobusa çıxışı olmalıdır, lakin şirkət körpülərlə birləşdirilmiş iki və ya daha çox ada qrupu üçün yalnız bir avtobusdan istifadə edəcək.
Sizin vəzifəniz, ada ölkəsinin xəritəsi verildikdə, həmin ölkə üçün adaların, körpülərin və lazım olan ən az avtobus sayını hesablayan bir proqram yazmaqdır.
Giriş, hər biri simvolların düzbucaqlı massivləri şəklində verilmiş bir sıra xəritələrdən ibarətdir (ən çox 80 x 80). Hər bir xəritə cütü arasında bir boş sətir var. Giriş faylın sonunda bitir.
Bütün xəritələr yalnız nöqtə (.), X, # və B simvollarını ehtiva edir. Nöqtələr okean suyunu təmsil edir. X və # adaların torpağını təmsil edir. B körpüləri təmsil edir və hər bir X bir və ya daha çox körpünün son nöqtəsini təmsil edən torpaqdır.
Hər bir xəritə 1 və ya daha çox düzbucaqlı adadan ibarətdir. Müxtəlif adalar şaquli və ya üfüqi olaraq bitişik deyil. Diagonal bitişiklik avtobusun keçməsi üçün kifayət deyil.
Hər bir xəritə 0 və ya daha çox üfüqi və ya şaquli körpüdən ibarətdir. Hər bir körpü ən az bir B ehtiva edir və yalnız iki son nöqtəsindəki adaları birləşdirir. Körpülər bir-birini keçmir və ya adanın # torpağı üzərində uzanmır. Heç bir B başqa bir B və ya X ilə bitişik ola bilməz, əgər onlar eyni körpünün bir hissəsi deyilsə.
Hər bir xəritə üçün xəritə nömrəsini çap etməlisiniz, sonra adaların, körpülərin və lazım olan avtobusların sayını verən sətirlər gəlməlidir. Hər bir xəritə çıxışı cütü arasında bir boş sətir çap edin. Nümunə çıxışın formatına əməl edin.
Nümunə 1