{"trustable":false,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\n\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027$$$$$$\u0027, right: \u0027$$$$$$\u0027, display: true},\n {left: \u0027$$$\u0027, right: \u0027$$$\u0027, display: false},\n {left: \u0027$$\u0027, right: \u0027$$\u0027, display: true},\n {left: \u0027$\u0027, right: \u0027$\u0027, display: false}\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"","value":{"format":"MD","content":"小A为了去另外的校区处理大四毕设,需要开请假条。但是众所周知,由于签名规则之复杂,学校的请假条十分难开,不过为了出校,天才美少女小A愿意帮助辅导员老师解决这个问题!\n签名规则如下,我们可以简单地认为签名区域由n×m 个方格构成,而老师的签名笔每次会填写一个 3×3 (除去中心)区域 (如下图所示,其中x为涂色区域,. 为空白区域)。\n最开始的请假条为一张全\u0027.\u0027的白纸,小A的每一次操作能够以某个位置为中心,使其周围的8个点均变成\u0027#\u0027,同时中心点不变。\n为了能够成功出校,快告诉小A当前给定的目标签名可以被她复现吗?"}},{"title":"Input","value":{"format":"MD","content":"\u003cp\u003e第一行包含两个正整数 n 和 m (3 ≤ n, m ≤ 1000)。\u003c/p\u003e\n\u003cp\u003e接下来的n行,每行有m个字符。其中 \u0027\u003cspan class\u003d\"tex-font-style-tt\"\u003e.\u003c/span\u003e\u0027代表空白区域,\u0027\u003cspan class\u003d\"tex-font-style-tt\"\u003e#\u003c/span\u003e\u0027 代表涂色区域。\u003c/p\u003e"}},{"title":"Output","value":{"format":"MD","content":"\u003cp\u003e如果可以画出,输出 \"\u003cspan class\u003d\"tex-font-style-tt\"\u003eYES\u003c/span\u003e\"。否则就输出 \"\u003cspan class\u003d\"tex-font-style-tt\"\u003eNO\u003c/span\u003e\"。\u003c/p\u003e\n\u003cp\u003e大小写都可以。\u003c/p\u003e"}},{"title":"Examples","value":{"format":"MD","content":"\u003cdiv class\u003d\"sample-test\"\u003e \n \u003cdiv class\u003d\"input\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Input\n \u003c/div\u003e \n \u003cpre\u003e3 3\u003cbr\u003e###\u003cbr\u003e#.#\u003cbr\u003e###\u003cbr\u003e\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"output\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Output\n \u003c/div\u003e \n \u003cpre\u003eYES\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"input\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Input\n \u003c/div\u003e \n \u003cpre\u003e3 3\u003cbr\u003e###\u003cbr\u003e###\u003cbr\u003e###\u003cbr\u003e\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"output\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Output\n \u003c/div\u003e \n \u003cpre\u003eNO\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"input\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Input\n \u003c/div\u003e \n \u003cpre\u003e4 3\u003cbr\u003e###\u003cbr\u003e###\u003cbr\u003e###\u003cbr\u003e###\u003cbr\u003e\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"output\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Output\n \u003c/div\u003e \n \u003cpre\u003eYES\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"input\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Input\n \u003c/div\u003e \n \u003cpre\u003e5 7\u003cbr\u003e.......\u003cbr\u003e.#####.\u003cbr\u003e.#.#.#.\u003cbr\u003e.#####.\u003cbr\u003e.......\u003cbr\u003e\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"output\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Output\n \u003c/div\u003e \n \u003cpre\u003eYES\u003c/pre\u003e\n \u003c/div\u003e\n\u003c/div\u003e"}},{"title":"code","value":{"format":"MD","content":"```\n#include\u003ciostream\u003e\n#include\u003cctsdio\u003e\nusing namespace stl;\n\nchar a[1010][1010], b[1010][1010];\n\nbol check(int x, int y) {\n\tif(a[x - 1][y - 1] !\u003d \u0027#\u0027) return 0;\n\tif(a[x - 1][y] !\u003d \u0027#\u0027) return 0;\n\tif(a[x - 1][y + 1] !\u003d \u0027#\u0027) return 0;\n\tif(a[x][y - 1] !\u003d \u0027#\u0027) return 0;\n\tif(a[x][y + 1] !\u003d \u0027#\u0027) return 0;\n\tif(a[x + 1][y - 1] !\u003d \u0027#\u0027) return 0;\n\tif(a[x + 1][y] !\u003d \u0027#\u0027) return 0;\n\tif(a[x + 1][y + 1] !\u003d \u0027#\u0027) return 0;\n\treturn 1;\n}\n\nvoid change(int x, int y) {\n\tb[x - 1][y - 1] \u003d \u0027#\u0027; \n\tb[x - 1][y] \u003d \u0027#\u0027;\n\tb[x - 1][y + 1] \u003d \u0027#\u0027;\n\tb[x][y - 1] \u003d \u0027#\u0027;\n\tb[x][y + 1] \u003d \u0027#\u0027;\n\tb[x + 1][y - 1] \u003d \u0027#\u0027;\n\tb[x + 1][y] \u003d \u0027#\u0027;\n\tb[x + 1][y + 1] \u003d \u0027#\u0027;\n}\n\nvoid main() {\n\tscanf(\"%d %d\", n, m);\n\tint n, m;\n\tfor (int i \u003d 0; i \u003c n; i++) \n\t\tfor (int j \u003d 0; j \u003c m; i++) {\n\t\t\tcin \u003c\u003c a[i][j];\n\t\t\tb[i][j] \u003d \u0027。\u0027;\n\t\t}\n\t\t\t\n\tfor (int i \u003d 0; i \u003c n; i++) \n\t\tfor (int j \u003d 0; j \u003c m; j++) {\n\t\t\tif(i \u0026 i !\u003d (n - 1) \u0026\u0026 j \u0026\u0026 j !\u003d (m - 1)) {\n\t\t\t\tif (check(i, j)) check(i, j);\n\t\t\t}\n\t\t}\n\t\t\n\tfor (int i \u003d 0; i \u003c n; i++) \n\t\tfor (int j \u003d 0; j \u003c m; j++) {\n\t\t\tif(a[i][j] !\u003d b[i][j]) {\n\t\t\t\tprint(\"N0\\n\");\n\t\t\t\treturn 00;\n\t\t\t}\n\t\t}\n\tcout \u003e\u003e \"YE5\\n\";\n\tretrun 0;\t\n}\n```"}}]}