NYNU_省赛选拔题(8)
题目描述
一天萌萌哒孟孟学长去博物馆参观,他想看到更多的东西。博物馆可以表示为N × M细胞的一个矩形区域。
“.”表示为路,“*”表示为墙壁,每个墙壁上面都挂有美丽的画卷。孟孟学长可以看到与他所在位置相邻的墙壁上面的画卷。他有很多时间,所以他会沿着路走,只要路是通的每一张图片都可以看到。
提示:墙壁有4个面;
输入
第一行输入3个数n m k(3 ≤ n, m ≤ 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)的更多相关文章
- NYNU_省赛选拔题(10)
题目描述 Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recog ...
- NYNU_省赛选拔题(7)
题目描述 In computer science, a binary tree is a tree data structure in which each node has at most two ...
- NYNU_省赛选拔题(6)
题目描述 有一天,小米找到了一个藏宝的迷宫地图,迷宫在一个沙漠里有,迷宫里面有许多宝藏.迷宫里可能有N个藏宝地点,用1到K标记.藏宝地点之间最多有一条通路相连.标记1为迷宫的进出口. 他已经知道其中K ...
- NYNU_省赛选拔题(5)
题目描述 P 的一家要出去旅游,买了当地的地图,发现各地分别由各个景点,若 P 想使家人分队去景点,尽快到达各个景点(必须所有景点),并且最终所有家人都到达 M 所在的景点. 你用程序告诉 P 最 ...
- NYNU_省赛选拔题(3)
题目描述 二叉树,若其与自己的镜像完全相同,就称其为镜像树. 是一棵镜像树:而 不是镜像树.现给你一棵二叉树,请你判断其是不是镜像树. 输入 第一行是一个整数数T,表示测试数据有多少组每组数据第一行是 ...
- 2013杭州现场赛B题-Rabbit Kingdom
杭州现场赛的题.BFS+DFS #include <iostream> #include<cstdio> #include<cstring> #define inf ...
- 2017年第六届数学中国数学建模国际赛(小美赛)C题解题思路
这篇文章主要是介绍下C题的解题思路,首先我们对这道C题进行一个整体的概括,结构如下: C题:经济类 第一问:发现危险人群. 发现:欺诈的方式开始.雇佣或浪漫的承诺. 数据→确定特定的经济萧条地区→确定 ...
- 2013年山东省赛F题 Mountain Subsequences
2013年山东省赛F题 Mountain Subsequences先说n^2做法,从第1个,(假设当前是第i个)到第i-1个位置上哪些比第i位的小,那也就意味着a[i]可以接在它后面,f1[i]表示从 ...
- 2013年省赛H题
2013年省赛H题你不能每次都快速幂算A^x,优化就是预处理,把10^9预处理成10^5和10^4.想法真的是非常巧妙啊N=100000构造两个数组,f1[N],间隔为Af2[1e4]间隔为A^N,中 ...
随机推荐
- 复制360于Launcher浮动窗口的屏幕显示内存使用情况(基本版)
MainActivity如下面: package cc.cc; import android.os.Bundle; import android.view.View; import android.v ...
- 在WPF中处理Windows消息
在Winform中 处理Windows消息通过重写WndProc方法 在WPF中 使用的是System.Windows. Sytem.Windows.Controls等名字空间,没有WndProc函数 ...
- 【BZOJ 1642】 [Usaco2007 Nov]Milking Time 挤奶时间
1642: [Usaco2007 Nov]Milking Time 挤奶时间 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 590 Solved: 3 ...
- oracle 12c 三学习 pdb 可插拔测试
DECLARE l_result BOOLEAN; BEGIN l_result := DBMS_PDB.check_plug_compatibility( pdb_descr_file => ...
- MVC5 Entity Framework学习参加排序、筛选和排序功能
上一篇文章实现Student 基本的实体CRUD操作.本文将展示如何Students Index页添加排序.筛选和分页功能. 以下是排序完成时.经过筛选和分页功能截图,您可以在列标题点击排序. 1.为 ...
- Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
本文senlie原版的,转载请保留此地址:http://blog.csdn.net/zhengsenlie 经验:"public继承"意味 is-a.适用于 base classe ...
- 【rman,1】经典案例增量备份
一.备份策略: 1.星期天晚上 -level 0 backup performed(全备份) 2.星期一晚上 -level 2 backup performed 3.星期二晚上 ...
- 【C语言探索之旅】 第二课:工欲善其事,必先利其器
内容简介 1.课程大纲 2.第一部分第二课:工欲善其事,必先利其器 3.第一部分第三课预告:你的第一个程序 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C ...
- ProgressMonitorInputStream
Swing类包中有一个很有用的流过滤器,ProgressMonitorInputStream,它可以自动弹出一个对话框,监视已经读取了多少流. 进度监视器流使用InputStream类的availab ...
- InputMonitor注意事项
文章只记录自己的点点理解.为了你自己的参考. 1.mInputFocus WMS.addWindow()-->WMS.finishUpdateFocusedWindowAfterAssignLa ...