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

 #include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; int n;
char g[][];
bool vis[][]; int main()
{
scanf("%d",&n);
for(int i=; i<=n; i++)
{
scanf("%s",g[i]);
}
for(int i=; i<=n; i++)
{
for(int j=; j<n; j++)
{
if(g[i][j]=='#')
{
bool flag=false;
if(g[i+][j-]=='#'&&g[i+][j]=='#'&&g[i+][j+]=='#'&&g[i+][j]=='#'&&i+<=n&&j->=)
{
flag=true;
g[i+][j-]='.';
g[i+][j]='.';
g[i+][j+]='.';
g[i+][j]='.';
g[i][j]='.';
}
else if(g[i+][j+]=='#'&&g[i][j+]=='#'&&g[i][j+]=='#'&&g[i-][j+]=='#'&&j+<n&&i+<=n&&i->=)
{
flag=true;
g[i+][j+]='.';
g[i][j+]='.';
g[i][j+]='.';
g[i-][j+]='.';
g[i][j]='.';
}
else if(g[i-][j]=='#'&&g[i+][j]=='#'&&g[i][j-]=='#'&&g[i][j+]=='#'&&j->=&&i+<=n&&i->=&&j+<n)
{
flag=true;
g[i-][j]='.';
g[i+][j]='.';
g[i][j-]='.';
g[i][j+]='.';
g[i][j]='.';
}
else if(g[i-][j]=='#'&&g[i-][j]=='#'&&g[i-][j-]=='#'&&g[i-][j+]=='#'&&j->=&&i+<=n&&i->=&&j+<n)
{
flag=true;
g[i-][j]='.';
g[i-][j]='.';
g[i-][j-]='.';
g[i-][j+]='.';
g[i][j]='.';
}
else if(g[i][j-]=='#'&&g[i][j-]=='#'&&g[i-][j-]=='#'&&g[i+][j-]=='#'&&j->=&&i+<=n&&i->=&&j+<n)
{
flag=true;
g[i][j-]='.';
g[i][j-]='.';
g[i-][j-]='.';
g[i+][j-]='.';
g[i][j]='.';
}
if(!flag)
{
printf("NO\n");
return ;
}
}
}
}
printf("YES\n");
return ;
}

cf B George and Cards的更多相关文章

  1. cf E. George and Cards

    http://codeforces.com/contest/387/problem/E 题意:给你n个数,然后在输入k个数,这k个数都在n个数中出现,进行每一次操作就是在n个数中选择长度为w的连续序列 ...

  2. Codeforces Round #227 (Div. 2) E. George and Cards set内二分+树状数组

    E. George and Cards   George is a cat, so he loves playing very much. Vitaly put n cards in a row in ...

  3. Codeforces Round #227 (Div. 2) E. George and Cards 线段树+set

    题目链接: 题目 E. George and Cards time limit per test:2 seconds memory limit per test:256 megabytes 问题描述 ...

  4. Codeforces 387E George and Cards

    George and Cards 我们找到每个要被删的数字左边和右边第一个比它小的没被删的数字的位置.然后从小到大枚举要被删的数, 求答案. #include<bits/stdc++.h> ...

  5. cf 546C Soldier and Cards

    题目链接:C. Soldier and Cards Two bored soldiers are playing card war. Their card deck consists of exact ...

  6. George and Cards

    Codeforces Round #227 (Div. 2) E:http://codeforces.com/contest/387/problem/E 题意:给你一个n个数的序列,然后给你一个标准序 ...

  7. cf D George and Interesting Graph

    题意:给你一个有趣图的定义:在这个图中有一个根,根与每个点都有边和回边,除了根之外,其他的点的出度和入度都为2,然后给你一个图让你经过几步操作可以使此图变为有趣图,操作为:删边或者加边. 思路:枚举根 ...

  8. cf C. George and Number

    http://codeforces.com/problemset/problem/387/C 题意:给你一个大数,让你求个集合,可以通过操作得到这个数,求集合中个数最大值,操作 :从集合中任意取两个数 ...

  9. cf B George and Round

    题意:输入n,m,下一行为n个数a1<a2<a3......<an:然后再输入m个数b1<=b2<=b3<.....<=bm: 每个ai都必须在b中找到相等的 ...

随机推荐

  1. android开发之broadcast学习笔记 分类: android 学习笔记 2015-07-19 16:33 32人阅读 评论(0) 收藏

    android中的广播用的太多了,今天稍微总结一下. 按注册方式分为两种: 1.静态注册广播: 静态注册广播就是在androidManifest.xml文件中注册广播,假设我们要实现这样一个效果,在一 ...

  2. Java基础知识强化之集合框架笔记43:Set集合之TreeSet存储Integer类型的元素并遍历

    1. TreeSet类概述: • 能够对元素按照某种规则进行排序. • 或者根据创建set时提供的Comparator进行排序 • 具体取决于使用的构造方法 2. 代码示例: package cn.i ...

  3. PHP中的function函数详解

    PHP函数,在PHP中函数起到一个不可分割的重要部分,很多功能实现都要用到函数,PHP的最大的威力就来源于函数! 在PHP中内建函数至少有上千个函数.这些内建函数了解就行了,官方文档里面有函数大全:传 ...

  4. Linux 目录与文件的基本操作

    1 目录与文件 1.1 文件 硬盘中的数据在操作系统中的体现为文件. 1.2 目录 目录的概念不是文件集合.目录和文件一样,目录也是文件.目录是找到文件的“踏板”.目录的本质是路径映射. 1.3 Li ...

  5. new Integer(1)和Integer.valueOf(1)的区别

    java.lang包中的Integer类是我们比较常用的类,比如以下代码: Integer a=new Integer(1) Integer a=Integer.valueOf(1); 两个都是得到一 ...

  6. U3D 背景音效和事件触发音效

    首先,想要在一个游戏添加背景音乐其实很简单,就是利用一个组件 就能够实现音频的播放,不过要实现通过某一个事件,来进行声音的播放,比如跳跃啊什么的: public AudioClip jumpclips ...

  7. CSS3渐变(Gradients)-线性渐变

    CSS3渐变(Gradients)可以让你在两个或多个指定颜色之间显示平稳的过度,包括透明度. 以前,你必须使用图像来实现这些效果.但是,通过Css3渐变(Gradients),你可以减少下载的事件和 ...

  8. equals函数的作用

    1.equals函数在什么地方 在Object类中,写法与==一样,但是我们用的时候要重写这个equals方法 String类型中的equals是复写好的 2.equals函数的作用 ==号在比较两个 ...

  9. PE File.

    Figure 1 - PE File The CLR header stores information to indicate that the PE file is a .NET executab ...

  10. android SDK 代理配置(东北大学)

    启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options...」,弹出『Android SDK Manager - Settings』窗口: 在『Andro ...