题目描述

一天萌萌哒孟孟学长去博物馆参观,他想看到更多的东西。博物馆可以表示为N × M细胞的一个矩形区域。

“.”表示为路,“*”表示为墙壁,每个墙壁上面都挂有美丽的画卷。孟孟学长可以看到与他所在位置相邻的墙壁上面的画卷。他有很多时间,所以他会沿着路走,只要路是通的每一张图片都可以看到。

提示:墙壁有4个面;

输入

第一行输入3个数n m k(3 ≤ nm ≤ 1000, 1 ≤ k ≤ min(n·m, 100 000))

然后是n行m列的由“.”和“*”组成的矩阵,行列都从1开始计算;

然后k行x和y(1 ≤ x ≤ n, 1 ≤ y ≤ m),用来表示此时所在的位置;

输出

输出所能看到的最多的画卷;

样例输入

4 4 2
*.**
.*.*
***.
***.
1 2
2 1

样例输出

3
3
 #include <cstdio>
#include <cstring>
#define M 1001
int id, ans;
int n, m;
char G[M][M]; int v[M][M], r[M*M];
int ac[][]={, , , -, -, , , };
void dfs(int x, int y)
{
v[x][y]=id; //标记数组;
for(int i=; i<; i++)
{
int nx=x+ac[i][];
int ny=y+ac[i][];
if(nx>&&nx<=n&&ny>&&ny<=m&&!v[nx][ny])
{
if(G[nx][ny]=='*')
ans++;
else
dfs(nx, ny);
}
}
}
int main()
{
int k;
while(scanf("%d%d%d", &n, &m, &k)!=EOF)
{
for(int i=; i<=n; i++)
scanf("%s", G[i]+);
memset(v, , sizeof(v));
id=;
for(int i=; i<=n; i++)
{
for(int j=; j<=m; j++)
{
if(G[i][j]=='.'&&!v[i][j])
{
ans=;
id++;
dfs(i, j);
r[id]=ans;
// printf("%d\n", ans);
}
}
}
while(k--)
{
int x, y;
scanf("%d%d", &x, &y);
printf("%d\n", r[v[x][y]]);
}
}
return ;
}

NYNU_省赛选拔题(8)的更多相关文章

  1. NYNU_省赛选拔题(10)

    题目描述 Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recog ...

  2. NYNU_省赛选拔题(7)

    题目描述 In computer science, a binary tree is a tree data structure in which each node has at most two ...

  3. NYNU_省赛选拔题(6)

    题目描述 有一天,小米找到了一个藏宝的迷宫地图,迷宫在一个沙漠里有,迷宫里面有许多宝藏.迷宫里可能有N个藏宝地点,用1到K标记.藏宝地点之间最多有一条通路相连.标记1为迷宫的进出口. 他已经知道其中K ...

  4. NYNU_省赛选拔题(5)

    题目描述 P 的一家要出去旅游,买了当地的地图,发现各地分别由各个景点,若 P 想使家人分队去景点,尽快到达各个景点(必须所有景点),并且最终所有家人都到达 M 所在的景点.   你用程序告诉 P 最 ...

  5. NYNU_省赛选拔题(3)

    题目描述 二叉树,若其与自己的镜像完全相同,就称其为镜像树. 是一棵镜像树:而 不是镜像树.现给你一棵二叉树,请你判断其是不是镜像树. 输入 第一行是一个整数数T,表示测试数据有多少组每组数据第一行是 ...

  6. 2013杭州现场赛B题-Rabbit Kingdom

    杭州现场赛的题.BFS+DFS #include <iostream> #include<cstdio> #include<cstring> #define inf ...

  7. 2017年第六届数学中国数学建模国际赛(小美赛)C题解题思路

    这篇文章主要是介绍下C题的解题思路,首先我们对这道C题进行一个整体的概括,结构如下: C题:经济类 第一问:发现危险人群. 发现:欺诈的方式开始.雇佣或浪漫的承诺. 数据→确定特定的经济萧条地区→确定 ...

  8. 2013年山东省赛F题 Mountain Subsequences

    2013年山东省赛F题 Mountain Subsequences先说n^2做法,从第1个,(假设当前是第i个)到第i-1个位置上哪些比第i位的小,那也就意味着a[i]可以接在它后面,f1[i]表示从 ...

  9. 2013年省赛H题

    2013年省赛H题你不能每次都快速幂算A^x,优化就是预处理,把10^9预处理成10^5和10^4.想法真的是非常巧妙啊N=100000构造两个数组,f1[N],间隔为Af2[1e4]间隔为A^N,中 ...

随机推荐

  1. QlikView同button控制转换图表类型(例如,变成一个垂直的条形图)

    QlikView图表可以通过检查一些可以为图表类型的转换非常方便进行配置,允许用户选择上面的图就是看条形图或柱状图或垂直方向图detail数据. 在Fast Type Change中选中如上图所看到的 ...

  2. SQL SERVER2005事务日志已满 解决方法

    DUMP TRANSACTION 数据库名称 WITH NO_LOG alter database 数据库名称 set recovery simple 3.右键你要压缩的数据库--所有任务--收缩数据 ...

  3. 【Android进阶】URL与URI的区别

    首先,URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源. 而URL是uniform resource locator,统一资源定位器,它是一种具 ...

  4. Python计算&绘图——曲线拟合问题(转)

    题目来自老师的课后作业,如下所示.很多地方应该可以直接调用函数,但是初学Python,对里面的函数还不是很了解,顺便带着学习的态度,尽量自己动手code. 测试版代码,里面带有很多注释和测试代码: # ...

  5. Java设计模式菜鸟系列(十四)代理模式建模与实现

    转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39856435 代理模式(Proxy):代理模式事实上就是多一个代理类出来,替原对象进行一些 ...

  6. Android学习路径(十)怎么会Action Bar堆放在布局

    默认情况下.action bar出如今activity窗体的顶部.稍微降低了activity布局的总空间. 假设你想隐藏或者显示action bar.在这堂用户体验的课程中,你能够通过调用hide() ...

  7. BZOJ 1901 Dynamic Rankings 树董事长

    标题效果:间隔可以改变k少 我的两个天树牌主席... 隔断Count On A Tree 之后我一直认为,随着树的主席的变化是分域林木覆盖率可持久段树. .. 事实上,我是误导... 尼可持久化线段树 ...

  8. Bash多个配置文件通常用于

    Login shells阅读下面的启动文件: 文件 内容 /etc/profile 对全部用户开放的全局配置文件 ~/.bash_profile 某个用户个人的启动文件,能用作个人的全局设置 ~/.b ...

  9. ASP.NET MVC 5– 采用Wijmo MVC 5模板1创建应用程序分钟

    启用 采用ComponentOne Studio for ASP.NET Wijmo制作MVC5应用,首先要做的就是安装pid=4&from=MVC4DOC">Studio f ...

  10. Extjs GridPanel 几点说明

    1. 在Ext中,表格控件必须包括列定义信息,并指定表格的数据存储器.列信息由columns定义,而数据存储器有store定义. 2. store负责把各种各样的原始数据(JSON对象数组等等)转换成 ...