{"trustable":true,"prependHtml":"\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cdiv class\u003d\"panel_content\"\u003eGeoSurvComp(地质勘探公司)负责探测地下油藏。GeoSurvComp每次处理一个大矩形土地区域,并创建一个网格将土地分割成许多方块地块。然后,它分别分析每个地块,使用传感设备来确定地块是否含有油。含有油的地块称为“口袋”。如果两个口袋相邻,则它们属于同一个油藏。油藏可能非常大,并且可能包含许多口袋。你的任务是确定网格中包含多少个不同的油藏。\u003cbr\u003e\u003c/div\u003e"}},{"title":"输入","value":{"format":"HTML","content":"输入文件包含一个或多个网格。每个网格以包含m和n的一行开头,m和n分别表示网格的行数和列数,用一个空格分隔。如果m \u003d 0,则表示输入结束;否则 1 \u003c\u003d m \u003c\u003d 100 且 1 \u003c\u003d n \u003c\u003d 100。接下来是m行,每行包含n个字符(不包括换行符)。每个字符对应一个地块,可以是`*\u0027,表示没有油,或者`@\u0027,表示一个油口袋。\u003cbr\u003e"}},{"title":"输出","value":{"format":"HTML","content":"对于每个网格,输出不同油藏的数量。如果两个不同的口袋在水平、垂直或对角线上相邻,则它们属于同一个油藏。一个油藏不会包含超过100个口袋。\u003cbr\u003e"}},{"title":"示例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e1 1\r\n*\r\n3 5\r\n*@*@*\r\n**@**\r\n*@*@*\r\n1 8\r\n@@****@*\r\n5 5 \r\n****@\r\n*@@*@\r\n*@**@\r\n@@@*@\r\n@@**@\r\n0 0 \r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e0\r\n1\r\n2\r\n2\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}