{"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":"\u003cscript type\u003d\u0027text/x-mathjax-config\u0027\u003eMathJax.Hub.Config({tex2jax: { inlineMath: [[\u0027$\u0027,\u0027$\u0027]] } }); \u003c/script\u003e\n\u003cscript type\u003d\u0027text/javascript\u0027 src\u003d\u0027https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\u0027\u003e\u003c/script\u003e\n\u003cscript type\u003d\u0027text/javascript\u0027\u003esetTimeout(function(){MathJax.Hub.Queue([\u0027Typeset\u0027, MathJax.Hub, \u0027left_view\u0027]);}, 2000);\u003c/script\u003e\n\u003cdiv class\u003d\"panel_content\"\u003e\n 假设我们有一个有直街的广场城市。城市地图是一个方形板,有n行和n列,每列代表一条街道或一块墙。\u003cbr\u003e\n\n碉堡是一座小城堡,有四个开口可以射击。四个开口分别面向北,东,南和西。每个开口都会有一挺机枪射击。\u003cbr\u003e\n\n在这里,我们假设子弹是如此强大,以至于它可以穿越任何距离并在途中摧毁一个碉堡。另一方面,墙壁结构坚固,可以阻止子弹。\u003cbr\u003e\n\n目标是尽可能多地在城市中设置碉堡,这样就不会有两个碉堡相互摧毁。如果没有两个碉堡在地图的同一水平行或垂直列上,除非至少有一个墙将它们分开,否则碉堡的配置是合法的。在这个问题中,我们将考虑小方形城市(最多4x4),其中包含无法穿过子弹的墙壁。\u003cbr\u003e\n\n下图显示了同一块板的五张图片。第一张图片是空白板,第二张和第三张图片显示合法配置,第四张和第五张图片显示非法配置。对于该板,合法配置中的最大块仓数为5; 第二张图片显示了一种方法,但还有其他几种方法。\n \u003cimg style\u003d\"max-width:100%;\" SRC\u003d\"CDN_BASE_URL/2833d81666db37f9dec4df3db9d38734?v\u003d1542256619\"\u003e \n \u003cbr\u003e \n \u003cbr\u003e您的任务是编写一个程序,在给定地图描述的情况下,计算可以在合法配置中放置在城市中的最大数量的阻止房屋。\n \u003cbr\u003e \n\u003c/div\u003e"}},{"title":"Input","value":{"format":"HTML","content":"输入文件包含一个或多个地图描述,后跟一行,其中包含表示文件末尾的数字0。每个地图描述都以包含正整数n的行开头,该正整数n是城市的大小; n最多为4.接下来的n行描述地图的一行,带有\u0027.\u0027 表示开放空间,大写\u0027X\u0027表示墙。输入文件中没有空格。\n\u003cbr\u003e"}},{"title":"Output","value":{"format":"HTML","content":"对于每个测试用例,输出一行,其中包含可以在合法配置中放置在城市中的最大数量的块房。\n\u003cbr\u003e"}},{"title":"Sample Input","value":{"format":"HTML","content":"\u003cpre\u003e4\n.X..\n....\nXX..\n....\n2\nXX\n.X\n3\n.X.\nX.X\n.X.\n3\n...\n.XX\n.XX\n4\n....\n....\n....\n....\n0\u003c/pre\u003e"}},{"title":"Sample Output","value":{"format":"HTML","content":"\u003cpre\u003e5\n1\n5\n2\n4\u003c/pre\u003e"}}]}