ZOJ3944People Counting<暴力/枚举>
题意:输入一张照片,给出人物的特征,判断有多少个人。
.O.
/|\
(.)
思路:按照3*3的图统计,只要有一个点符合就加1
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn=1e2+10;
int T,n,m;
char s[maxn][maxn]; bool check(int x,int y)
{
if (1 <= x&&x <= n && 1 <= y + 1 && y + 1 <= m&&s[x][y + 1] == 'O') return true;//右
if (1 <= x + 1 && x + 1 <= n && 1 <= y && y <= m&&s[x + 1][y] == '/') return true;//下
if (1 <= x + 1 && x + 1 <= n && 1 <= y + 1 && y + 1 <= m&&s[x + 1][y + 1] == '|') return true;//右下
if (1 <= x + 1 && x + 1 <= n && 1 <= y + 2 && y + 2 <= m&&s[x + 1][y + 2] == '\\') return true;//下右右//'\\'的表示方法
if (1 <= x + 2 && x + 2 <= n && 1 <= y && y <= m&&s[x + 2][y] == '(') return true;//下下
if (1 <= x + 2 && x + 2 <= n && 1 <= y + 2 && y + 2 <= m&&s[x + 2][y + 2] == ')') return true;//下下右右
return false;
} int main ()
{
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
for(int i = 1 ; i <=n ; i++)
scanf("%s",s[i]+1);
int ans=0;
for(int i =-1;i<=n;i++)
for(int j=-1;j<=m;j++)
{
if(check(i,j))ans++;
}
printf("%d\n",ans);
}
return 0;
}
ZOJ3944People Counting<暴力/枚举>的更多相关文章
- CodeForces 742B Arpa’s obvious problem and Mehrdad’s terrible solution (暴力枚举)
题意:求定 n 个数,求有多少对数满足,ai^bi = x. 析:暴力枚举就行,n的复杂度. 代码如下: #pragma comment(linker, "/STACK:1024000000 ...
- 2014牡丹江网络赛ZOJPretty Poem(暴力枚举)
/* 将给定的一个字符串分解成ABABA 或者 ABABCAB的形式! 思路:暴力枚举A, B, C串! */ 1 #include<iostream> #include<cstri ...
- HNU 12886 Cracking the Safe(暴力枚举)
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12886&courseid=274 解题报告:输入4个数 ...
- 51nod 1116 K进制下的大数 (暴力枚举)
题目链接 题意:中文题. 题解:暴力枚举. #include <iostream> #include <cstring> using namespace std; ; ; ch ...
- Codeforces Round #349 (Div. 1) B. World Tour 最短路+暴力枚举
题目链接: http://www.codeforces.com/contest/666/problem/B 题意: 给你n个城市,m条单向边,求通过最短路径访问四个不同的点能获得的最大距离,答案输出一 ...
- bzoj 1028 暴力枚举判断
昨天梦到这道题了,所以一定要A掉(其实梦到了3道,有两道记不清了) 暴力枚举等的是哪张牌,将是哪张牌,然后贪心的判断就行了. 对于一个状态判断是否为胡牌,1-n扫一遍,然后对于每个牌,先mod 3, ...
- POJ-3187 Backward Digit Sums (暴力枚举)
http://poj.org/problem?id=3187 给定一个个数n和sum,让你求原始序列,如果有多个输出字典序最小的. 暴力枚举题,枚举生成的每一个全排列,符合即退出. dfs版: #in ...
- hihoCoder #1179 : 永恒游戏 (暴力枚举)
题意: 给出一个有n个点的无向图,每个点上有石头数个,现在的游戏规则是,设置某个点A的度数为d,如果A点的石子数大于等于d,则可以从A点给每个邻接点发一个石子.如果游戏可以玩10万次以上,输出INF, ...
- CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)
问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前. 3. 最高 ...
随机推荐
- Logger日志管理工具类
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...
- android开发注意点
一.Android编码规范 1.java代码中不出现中文,最多注释中可以出现中文 2.局部变量命名.静态成员变量命名 只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写 3.常量命名 只能 ...
- JVM调优总结-调优方法
JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用.对垃圾回收算法有很详细的跟踪 JProfiler ...
- Soj题目分类
-----------------------------最优化问题------------------------------------- ----------------------常规动态规划 ...
- 经典.net面试题目(3)
1. asp.net中web应用程序获取数据的流程: A.Web Page B.Fill C.Sql05 D.Data Sourse E.DataGrid F.DataSet G.Selec ...
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;方法意思
这个方法是用来设置你的TableView中每一行显示的内容和格式的. indexPath 用来指示当前单元格,它的row方法可以获得这个单元格的行号,section方法可以获得这个单元格所处的区域号 ...
- ip forward
centos vi /proc/sys/net/ipv4/ip_forward ubuntu vi /etc/sysctl.conf sysctl -p
- 用sql server的sql语句算一个empty GUID
在C#中得到一个empty GUID的方法是: Guid id= Guid.Empty; 那么在SQL Server Management Studio中怎样得到一个empty GUID呢? 方法有两 ...
- POJ 2031 Building a Space Station 最小生成树模板
题目大意:在三维坐标中给出n个细胞的x,y,z坐标和半径r.如果两个点相交或相切则不用修路,否则修一条路连接两个细胞的表面,求最小生成树. 题目思路:最小生成树树模板过了,没啥说的 #include& ...
- Linux 安全模块
LSM是Linux Secrity Module的简称,即linux安全模块.其是一种轻量级通用访问控制框架,适合于多种访问控制模型在它上面以内核可加载模块的形实现.用户可以根据自己的需求选择合适的安 ...