http://acm.hdu.edu.cn/showproblem.php?pid=4414

简单枚举

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <queue>
#include <vector>
#include <algorithm>#define LL long long
//#pragma comment(linker, "/STACK:1024000000,1024000000")
using namespace std;
const int N=105;
string figure[N];
int n;
bool cross(int I,int J)
{int k1=0,k2=0,k3=0,k4=0;for(int j=J+1;j<n;++j){if(figure[I][j]=='#'){if(figure[I-1][j]=='o'&&figure[I+1][j]=='o')++k1;elsereturn false;}elsebreak;}if(k1==0)return false;for(int j=J-1;j>=0;--j){if(figure[I][j]=='#'){if(figure[I-1][j]=='o'&&figure[I+1][j]=='o')++k2;elsereturn false;}elsebreak;}if(k1!=k2)return false;for(int i=I+1;i<n;++i){if(figure[i][J]=='#'){if(figure[i][J+1]=='o'&&figure[i][J-1]=='o')++k3;elsereturn false;}elsebreak;}if(k1!=k3)return false;for(int i=I-1;i>=0;--i){if(figure[i][J]=='#'){if(figure[i][J+1]=='o'&&figure[i][J-1]=='o')++k4;elsereturn false;}elsebreak;}if(k1!=k4)return false;return true;}
int main()
{//freopen("data.txt","r",stdin);while(cin>>n){if(n==0)break;for(int i=0;i<n;++i)cin>>figure[i];int ans=0;for(int i=1;i<n-1;++i){for(int j=1;j<n-1;++j){if(figure[i][j]=='#'&&cross(i,j))++ans;}}cout<<ans<<endl;}return 0;
}

转载于:https://www.cnblogs.com/liulangye/archive/2012/09/26/2703410.html

hdu 4414 Finding crosses相关推荐

  1. HDU 4414 Finding crosses(搜索)

    题目链接:HDU 4414 Finding crosses [题目大意] 给你一张n*n的图,由o #这两个元素组成,让我们找其中有多少十字架. 十字架由#构成 十字架的纵向长度等于横向长度 , 且这 ...

  2. HDU-4414 Finding crosses

    问题描述: The Nazca Lines are a series of ancient geoglyphs located in the Nazca Desert in southern Peru ...

  3. HDU - 6756 Finding a MEX-分块思想

    https://vjudge.net/problem/HDU-6756 题目大意:给你一个无向图,每个点有权值a,将f(u)定义为对u的邻居的集合求mex: 有两个操作: 1:将u的权值修改为x 2: ...

  4. 杭电OJ分类题目(2)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(2) HDU Water~~~ HDU 100 ...

  5. 解题报告 (十三) 尺取法

    文章目录 尺取法 解题报告 PKU 2100 Graveyard Design PKU 3061 Subsequence PKU 2739 Sum of Consecutive Prime Numbe ...

  6. HDU多校1 - 6756 Finding a MEX(分块+二分+树状数组)

    题目链接:点击查看 题目大意:给出一个 n 个点和 m 条边的无向图,每个点都有一个权值,现在需要执行 q 次操作,每次操作分为两种类型: 1 pos val :将第 pos 个点的权值修改为 val ...

  7. 【HDU - 1937 】Finding Seats(二维前缀和+尺取法)

    题干: A group of K friends is going to see a movie. However, they are too late to get good tickets, so ...

  8. 暑期集训3:几何基础 练习题G: HDU - 1052

    2018学校暑期集训第三天--几何基础 练习题G  --   HDU - 1052   (昨天加练题) Tian Ji -- The Horse Racing Here is a famous sto ...

  9. 台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric)

    台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric) symbolic vs. numeric符号法和数值法的区别对比 symbolic 1)advantages ...

最新文章

  1. 一览群智胡健:在中国完全照搬Palantir模式,这不现实
  2. SQL 简单,复杂查询,基本函数查询
  3. Python串行运算、并行运算、多线程、多进程对比实验
  4. 【Qt开发】QSplitter的使用和设置
  5. wps表格粗线和细线区别_详解论文中的表格技术
  6. STL14-set/multiset容器
  7. linux添加nginx启动脚本_linux环境开机自启动nginx
  8. 数独超难题目_世界最难数独游戏 世界上最难数独题目
  9. 计算机指纹驱动程序,解决方法:联想笔记本指纹识别驱动程序安装教程[详细]...
  10. 电视网络机顶盒破解记录
  11. JavaScript逻辑训练题(二)
  12. 微信小程序如何引用阿里icon字体
  13. IDEA连接数据库后在数据表里添加外键的两种方式
  14. mysql根据出生年月计算年龄
  15. 常见图片格式及其区别小结
  16. python控件布局常用三种方法_控件布局
  17. vrp java_在VRP平台上,直连路由、静态路由、RIP、OSPF的默认协议优先级从高到低的排序是( )。...
  18. 如何通过美股交易软件完成开户?美股开户交易要点有哪些?
  19. 全闪存存储、混合闪存存储
  20. Jmeter Springboot Redisson分布式锁并发订单操作(下单、取消单、完成单、加库存)

热门文章

  1. CF--思维练习--CodeForces - 216C - Hiring Staff (思维+模拟)
  2. Solr+Hbase多条件查(优劣互补)
  3. Python模块:日志输出—logging模块
  4. Haar小波变换代码实现
  5. (原创) 电源滤波为何要用几个不同量级的电容并联?
  6. SUSE Linux 维护笔记一
  7. python ——两个队列实现一个栈两个栈实现一个队列
  8. sam服务器是什么_使用SAM CLI将机器学习模型部署到无服务器后端
  9. 新版征信报告实施之后,信用卡养卡套现真的要凉凉了?
  10. 第四大运营商正式申请5G牌照,三大运营商如何应对?