• cf B George and Cards


    题意:给你一个只有‘.’和'#'的n*n的格子,问所有的'#'是不是只属于一个十字叉,如果不是输出NO,否则输出YES。

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <algorithm>
     4 using namespace std;
     5 
     6 int n;
     7 char g[200][200];
     8 bool vis[200][200];
     9 
    10 int main()
    11 {
    12     scanf("%d",&n);
    13     for(int i=1; i<=n; i++)
    14     {
    15         scanf("%s",g[i]);
    16     }
    17     for(int i=1; i<=n; i++)
    18     {
    19         for(int j=0; j<n; j++)
    20         {
    21             if(g[i][j]=='#')
    22             {
    23                 bool flag=false;
    24                 if(g[i+1][j-1]=='#'&&g[i+1][j]=='#'&&g[i+1][j+1]=='#'&&g[i+2][j]=='#'&&i+2<=n&&j-1>=0)
    25                 {
    26                     flag=true;
    27                     g[i+1][j-1]='.';
    28                     g[i+1][j]='.';
    29                     g[i+1][j+1]='.';
    30                     g[i+2][j]='.';
    31                     g[i][j]='.';
    32                 }
    33                 else if(g[i+1][j+1]=='#'&&g[i][j+1]=='#'&&g[i][j+2]=='#'&&g[i-1][j+1]=='#'&&j+2<n&&i+1<=n&&i-1>=1)
    34                 {
    35                     flag=true;
    36                     g[i+1][j+1]='.';
    37                     g[i][j+1]='.';
    38                     g[i][j+2]='.';
    39                     g[i-1][j+1]='.';
    40                     g[i][j]='.';
    41                 }
    42                 else if(g[i-1][j]=='#'&&g[i+1][j]=='#'&&g[i][j-1]=='#'&&g[i][j+1]=='#'&&j-1>=0&&i+1<=n&&i-1>=1&&j+1<n)
    43                 {
    44                     flag=true;
    45                     g[i-1][j]='.';
    46                     g[i+1][j]='.';
    47                     g[i][j-1]='.';
    48                     g[i][j+1]='.';
    49                     g[i][j]='.';
    50                 }
    51                 else if(g[i-1][j]=='#'&&g[i-2][j]=='#'&&g[i-1][j-1]=='#'&&g[i-1][j+1]=='#'&&j-1>=0&&i+1<=n&&i-2>=1&&j+1<n)
    52                 {
    53                     flag=true;
    54                     g[i-1][j]='.';
    55                     g[i-2][j]='.';
    56                     g[i-1][j-1]='.';
    57                     g[i-1][j+1]='.';
    58                     g[i][j]='.';
    59                 }
    60                 else if(g[i][j-1]=='#'&&g[i][j-2]=='#'&&g[i-1][j-1]=='#'&&g[i+1][j-1]=='#'&&j-2>=0&&i+1<=n&&i-1>=1&&j+1<n)
    61                 {
    62                     flag=true;
    63                     g[i][j-1]='.';
    64                     g[i][j-2]='.';
    65                     g[i-1][j-1]='.';
    66                     g[i+1][j-1]='.';
    67                     g[i][j]='.';
    68                 }
    69                 if(!flag)
    70                 {
    71                     printf("NO
    ");
    72                     return 0;
    73                 }
    74             }
    75         }
    76     }
    77     printf("YES
    ");
    78     return 0;
    79 }
    View Code
  • 相关阅读:
    Tiny模板引擎之开发工具
    Tiny框架应用实践之Tiny社区
    TINY框架:组件化的J2EE开发框架
    TinyRMI---RMI的封装、扩展及踩到的坑的解决
    新手如何入门
    从应用示例来认识Tiny框架
    图形化插件对Eclipse的版本要求
    可不可以在局域网编译TINY?
    批量创建的方法
    不在框架中,利用Django的models操作
  • 原文地址:https://www.cnblogs.com/fanminghui/p/4248153.html
Copyright © 2020-2023  润新知