{"trustable":false,"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":"GeoSurvComp地质勘测公司负责探测地下石油储量。GeoSurvComp一次处理一个大的矩形区域,并创建一个网格,将土地划分为许多正方形地块。然后,它分别分析每个图,使用传感设备来确定图中是否含有石油。含有石油的地块叫做口袋。如果两个口袋相邻(指的是周围的八个点),那么它们是同一油藏的一部分。石油储量可能相当大,可能包含无数的口袋。你的工作是确定一个网格中包含多少不同的石油沉积。"}},{"title":"Input","value":{"format":"HTML","content":"输入文件包含一个或多个网格。每个网格从一行开始,其中包含m和n,即网格中的行数和列数,用单个空格分隔。如果m \u003d 0,则表示输入结束;否则,1 \u003c\u003d m \u003c\u003d 100和1 \u003c\u003d n \u003c\u003d 100。接下来是m行,每个行包含n个字符(不包括行尾字符)。每个字符对应一个绘图,要么是`*\u0027,表示无油,要么是`@\u0027,表示油袋。"}},{"title":"Output","value":{"format":"HTML","content":"对于每个网格,输出不同的石油沉积的数量。如果两个不同的口袋在水平、垂直或对角上相邻,则它们是同一油藏的一部分。一个油藏不会包含超过100个口袋。"}},{"title":"Sample Input","value":{"format":"HTML","content":"\u003cpre\u003e1 1\n*\n3 5\n*@*@*\n**@**\n*@*@*\n1 8\n@@****@*\n5 5 \n****@\n*@@*@\n*@**@\n@@@*@\n@@**@\n0 0 \u003c/pre\u003e"}},{"title":"Sample Output","value":{"format":"HTML","content":"\u003cpre\u003e0\n1\n2\n2\u003c/pre\u003e"}}]}