bnuoj 33656 J. C.S.I.: P15(图形搜索题)
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(图形搜索题)的更多相关文章
- 【数位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 ...
- 【第一部分】01Leetcode刷题
一.二叉树的中序遍历 题目:94. 二叉树的中序遍历.94. Binary Tree Inorder Traversal 解法一: class Solution { public: vector< ...
- C语言打印图形
//输出图形 * * * * * * * * * * * * * * * * * * * * * * * * * //每行5个* void test1(){ // 外层负责行,外层执行一次,内层 ...
- Java如何利用for循环在控制台输出正方形对角线图形
1 /* 2 利用循环在控制台输出如下正方形对角线图形 3 * * * * * * * * * * * 4 * * * * 5 * * * * 6 * * * * 7 * * * * 8 * * * ...
- bnuoj 4187 GCC (数论)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=4187 [题意]:如题 [题解]:取n,m的最小值进行遍历就可以了: 注意 0 1 这组测试数据 [c ...
- 【codeforces.com/gym/100240 J】
http://codeforces.com/gym/100240 J [分析] 这题我搞了好久才搞出样例的11.76....[期望没学好 然后好不容易弄成分数形式.然后我‘+’没打..[于是爆0... ...
- 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< ...
- [游记]CSP 2021 J/S
这一次,也许是我的OI生涯的转折点了--能过,学习OI的时间就不会减少:但不能过,就会减少学习OI的时间-- 上午(S组) 6:00起床.去吃早餐,结果因为边喝粥边喝牛奶导致肚子疼.(我在这里劝大家, ...
- 2016年江西理工大学C语言程序设计竞赛(初级组)
问题 A: 木棒根数 解法:把所有的情况保存下来,加一下就好 #include<bits/stdc++.h> using namespace std; map<char,int> ...
随机推荐
- 零碎记录Hadoop平台各组件使用
>20161011 :数据导入研究 0.sqoop报warning,需要安装accumulo: 1.下载Microsoft sql server jdbc, 使用ie下载,将42版j ...
- 网站的配置文件XML读写
网站的配置信息一般都写入到XML中,以下是简单的对xml的读写操作,仅供参考. 读操作: XmlDocument xmlDoc = new XmlDocument(); XmlReaderSettin ...
- 编程Tips
三元运算符 Vb中的iif(expr,truepart,falsepart)和C#中的expr?truepart:falsepart. 无论expr的结果是true还是false,true/false ...
- ./configure:command not found 解决方法
有些下载下来的源码没有MAKEFILE文件,但是会有MAKEFILE.IN 和 configure, MAKEFILE文件则由后两个文件生成. 如果执行: $./configure 提示错误:./ ...
- 基于 ArcGIS Silverlight API开发的WebGIS应用程序的部署
部署流程概述 在微软的iis服务器上部署基于ArcGIS Silverlight API的应用程序,主要包括以下几个步骤: 1)(可选)部署GIS服务 如果需要将GIS服务也部署在Web服务器上,则 ...
- DataGrid3
a标签,DataGrid的数据绑定 1.function aa(id, url) { //alert(id); window.open(url + '&am ...
- 【风马一族_Android】手机与电脑通过adb进行连接
1:打开电脑的命令行 cmd 2:adb devices 查看与电脑连接的手机或模拟器的名称 3:准备要安装的apk.记住手机的名称 4:adb –s <模拟器名称> install & ...
- window store app 附件读取
public static async Task<bool> DisplayApplicationPicker(string folderName, string fileName) { ...
- Linux 下安装服务器安全狗
1.网上下载服务器安全狗的软件包 32位和64位 wget http://www.safedog.cn/server_safedog_linux.html/safedog_linux32.tar ...
- lighttpd的超时参数详解
今天服务器上传大文件,服务器php一直没有响应,响应为0KB,经排查发现是lighttpd的超时设置问题 server.max-keep-alive-idle = 5server.max-read-i ...