http://www.bnuoj.com/bnuoj/problem_show.php?pid=33656

【题解】:暴力搜索题

【code】:

 #include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <queue> using namespace std; char map[][];
int vis[][];
int n,m;
int B,F;
int cx[]={,-,,-,,-,,};
int cy[]={,,,-,-,,-,}; int isAllDog(int l,int r)
{
int i=l-,j=r-;
if(i>=&&j>=)
{
if(map[i][j]!='.') return ;
}
i=l-,j=r;
if(i>=)
{
for(;j<r+;j++)
{
if(map[i][j]!='.') return ;
}
}
i=l-,j=r+;
if(i>=&&j<m)
{
if(map[i][j]!='.') return ;
}
i=l,j=r-;
if(j>=)
{
if(map[i][j]!='.') return ;
}
i=l,j=r+;
if(j<m)
{
if(map[i][j]!='.') return ;
}
i=l+,j=r-;
if(i<n&&j>=)
{
if(map[i][j]!='.') return ;
}
i=l+,j=r;
if(i<n)
{
for(;j<r+;j++)
{
if(map[i][j]!='.') return ;
}
}
i=l+,j=r+;
if(i<n&&j<m)
{
if(map[i][j]!='.') return ;
}
return ;
} void seach_birds()
{
int i,j;
for(i=;i<n;i++)
{
for(j=;j<m-;j++)
{
if(map[i][j]=='/'&&map[i][j+]=='\\'&&map[i][j+]=='/'&&map[i][j+]=='\\')
{
if(isAllDog(i,j))
{
B++;
}
j+=;
}
}
}
} void seach_flower(int x,int y)
{
int i;
vis[x][y] = ;
for(i=;i<;i++)
{
int dx = x+cx[i];
int dy = y+cy[i];
if(dx>=&&dx<n&&dy>=&&dy<m&&!vis[dx][dy]&&map[dx][dy]!='.'&&map[dx][dy]!='=')
{
vis[dx][dy]=;
seach_flower(dx,dy);
}
}
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{ scanf("%d%d",&n,&m);
int i;
for(i=;i<n;i++)
{
scanf("%s",map[i]);
}
B=F=;
seach_birds();
memset(vis,,sizeof(vis));
for(i=;i<m;i++)
{
if(n->=&&map[n-][i]!='.'&&vis[n-][i]==)
{
seach_flower(n-,i);
F++;
}
}
printf("Flowers: %d\n",F);
printf("Birds: %d\n",B); // cout<<B<<endl;
}
return ;
}

bnuoj 33656 J. C.S.I.: P15(图形搜索题)的更多相关文章

  1. 【数位DP】bnuoj 52813 J. Deciphering Oracles

    http://acm.bnu.edu.cn/v3/contest_show.php?cid=9208#problem/J [AC] #include<bits/stdc++.h> usin ...

  2. 【第一部分】01Leetcode刷题

    一.二叉树的中序遍历 题目:94. 二叉树的中序遍历.94. Binary Tree Inorder Traversal 解法一: class Solution { public: vector< ...

  3. C语言打印图形

    //输出图形 * * * * * * * * * * * * * * * * * * * * * * * * * //每行5个* void test1(){ //    外层负责行,外层执行一次,内层 ...

  4. Java如何利用for循环在控制台输出正方形对角线图形

    1 /* 2 利用循环在控制台输出如下正方形对角线图形 3 * * * * * * * * * * * 4 * * * * 5 * * * * 6 * * * * 7 * * * * 8 * * * ...

  5. bnuoj 4187 GCC (数论)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=4187 [题意]:如题 [题解]:取n,m的最小值进行遍历就可以了: 注意 0 1 这组测试数据 [c ...

  6. 【codeforces.com/gym/100240 J】

    http://codeforces.com/gym/100240 J [分析] 这题我搞了好久才搞出样例的11.76....[期望没学好 然后好不容易弄成分数形式.然后我‘+’没打..[于是爆0... ...

  7. Codeforces Gym101606 J.Just A Minim (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))

    J Just A Minim 超级无敌大水题,但是被精度卡了一手,输出要精确到小数点后6位,我直接输出的... 代码: 1 #include<iostream> 2 #include< ...

  8. [游记]CSP 2021 J/S

    这一次,也许是我的OI生涯的转折点了--能过,学习OI的时间就不会减少:但不能过,就会减少学习OI的时间-- 上午(S组) 6:00起床.去吃早餐,结果因为边喝粥边喝牛奶导致肚子疼.(我在这里劝大家, ...

  9. 2016年江西理工大学C语言程序设计竞赛(初级组)

    问题 A: 木棒根数 解法:把所有的情况保存下来,加一下就好 #include<bits/stdc++.h> using namespace std; map<char,int> ...

随机推荐

  1. backbone.Router History源码笔记

    Backbone.History和Backbone.Router history和router都是控制路由的,做一个单页应用,要控制前进后退,就可以用到他们了. History类用于监听URL的变化, ...

  2. 关于使用AIDL出现空指针的解决办法

    使用AIDL进行远程调用的时候出现的空指针异常,解决过程稍微有点小曲折.具体安下 1.先贴异常信息 ERROR/AndroidRuntime(9435): FATAL EXCEPTION: main ...

  3. android:launchMode概述

    android:launchMode An instruction on how the activity should be launched. There are four modes that ...

  4. Android之开源项目工具库篇

    本文转自:http://www.trinea.cn/android/android-open-source-projects-dev-lib/ 本文中你可以找到那些精美App中各种有特性的View,如 ...

  5. ios卡牌游戏项目源码

    上传者fu_sion,源码CardGame,一副牌从中抽取十二张牌,翻开牌可以相同的花色+1 相同的数字+4分 同一张牌翻开后可以盖上(算是一个BUG)就酱紫~~ 项目源码下载:http://code ...

  6. iOS开发那些事-iOS应用本地化-文本信息本地化

    文本信息本地化在本地化工作中占有很大的比例.包括了:应用名称本地化.系统按钮和信息本地化,以及静态文本信息本地化. 系统按钮和信息本地化 还记得天气预报应用背后的“完成”按钮吗,它在中文环境下是“完成 ...

  7. C#中多线程的简单应用

    下面是C#中使用多线程的一个简单用法介绍: //主线程: Thread thread = new Thread(new ThreadStart(ReadExportData));//创建分支线程thr ...

  8. 2015-0306—DataLList

    DataList具有repeater的所有功能,不同的是DataList自动将模板绘制成为一个表格,每一行数据都绘制成<tr>. 一.SQL的准备工作: 按照以下代码创建: create ...

  9. express模块安装后cmd中不能运行

    在各种关于NodeJS的教材中,必定会有关于express的介绍.express本身是一个很赞的库. 在之前的express版本中,在全局模式安装(npm -g install express)之后, ...

  10. 【转】使用Memcached提高.NET应用程序的性能

    在应用程序运行的过程中总会有一些经常需要访问并且变化不频繁的数据,如果每次获取这些数据都需要从数据库或者外部文件系统中去读取,性能肯定会受到影响,所以通常的做法就是将这部分数据缓存起来,只要数据没有发 ...