【1191】流感传染
【问题描述】
有一批易感人群住在网格状的宿舍区内,宿舍区为nn的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得病的不变),空房间不会传染。请输出第m天得流感的人数。
【输入】
第一行一个数字n,n不超过100,表示有nn的宿舍房间。
接下来的n行,每行n个字符,’.’表示第一天该房间住着健康的人,’#’表示该房间空着,’@’表示第一天该房间住着得流感的人。
接下来的一行是一个整数m,m不超过100。
【输出】
输出第m天,得流感的人数。
【输入样例】
5
…#
.#.@.
.#@…
#…
…
4
【输出样例】
16
【参考程序】
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;char a[101][101]; // a[i][j]记录房间(i,j)的状态
bool b[101][101]; // b[i][j]记录房间(i,j)是否住着得流感的人 int main() {int m, n, ans=0;memset(b, false, sizeof(b)); // 初始化,false表示未得流感 cin >> n;for (int i=1; i<=n; i++) {for (int j=1; j<=n; j++) {cin >> a[i][j]; // 初始化房间第一天的状态 }} cin >> m; for (int k=2; k<=m; k++) { // 模拟m天for (int i=1; i<=n; i++) {for (int j=1; j<=n; j++) {if (a[i][j] == '@') { // 判断房间(i,j)是否有病人'@',每天传染邻居(上下左右) if (a[i-1][j] == '.') { // 判断上邻居(i-1,j)是否住人'.' b[i-1][j] = true; } if (a[i][j-1] == '.') { // 判断左邻居(i,j-1)是否住人'.' b[i][j-1] = true; } if (a[i+1][j] == '.') { // 判断下邻居(i+1,j)是否住人'.' b[i+1][j] = true; } if (a[i][j+1] == '.') { // 判断右邻居(i,j+1)是否住人'.' b[i][j+1] = true; }} } // end for(j)} // end for(i)// 必须之后再更新,否则这一天刚被传染的人也会传染别人,违背了题意for (int i=1; i<=n; i++) {for (int j=1; j<=n; j++) {if (b[i][j] == true) {a[i][j] = '@'; // 更新传染的新的病人 }}} } // end for(k)for (int i=1; i<=n; i++) {for (int j=1; j<=n; j++) {if (a[i][j] == '@') {ans++; // 搜索累加得流感的人数 }}}cout << ans << endl;return 0;
}
【1191】流感传染相关推荐
- 一本通:1191流感传染
一本通:流感传染 [题目描述] 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着.在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻 ...
- 信息学奥赛一本通 1191:流感传染 | OpenJudge NOI 2.3 6262:流感传染
[题目链接] ybt 1191:流感传染 OpenJudge NOI 2.3 6262:流感传染 [题目考点] 1. 二维数组 2. 队列 [解题思路] 用一个字符型二维数组存储各个房间的情况. 1. ...
- 信息学奥赛一本通|1191:流感传染
1191:流感传染 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 20081 通过数: 10845 [题目描述] 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格 ...
- 【信奥赛一本通】1191:流感传染(详细代码)
[c++解决]1191:流感传染(详细代码)有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着.在第一天,有些房间里的人得了流感,以后每天,得流感 ...
- 流感传染 C++ 递推
题目:流感传染 题目描述 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着.在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染 ...
- 一本通题解——1191:流感传染
题目相关 题目链接 一本通 OJ,http://ybt.ssoier.cn:8088/problem_show.php?pid=1191. 题目描述 有一批易感人群住在网格状的宿舍区内,宿舍区为 n* ...
- 1191:6262:流感传染
总时间限制: 1000ms 内存限制: 65536kB 描述 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着.在第一天,有些房间里的人得了流感 ...
- 1191:流感传染(递推)
问题描述: [题目描述] 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着.在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染 ...
- 信息学奥赛一本通:1191:流感传染
[题目描述] 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着.在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已 ...
最新文章
- 普适方案|资管新规落地,资管领域存量市场竞争激烈。专家:得转型(附产品推广)
- 转载: Qt 学习之路 2归档
- linux pam 解锁_linux中pam模块
- python学多久可以做项目-怎么自学python,大概要多久?
- ubuntu 安装 mongodb并修改仓库路径
- jQuery ui widget和jQuery plugin的实现原理简单比较
- C/C++底层实现指定磁盘只读
- VS2015卸载不完全与安装问题
- K近邻算法,Matlab实现
- 【Numpy入门实例:图像的手绘效果】
- 图示代码,轻松解决IV值计算问题(python)
- 如何删除oracle备份集,RMAN中删除OBSOLETE备份集问题
- 个人支付接口现状分析——总有一款适合你
- 交通流量预测数据集解读
- jar 坐标系转换工具_MODIS数据处理工具HEG安装教程
- Vs2015智能提示英文的处理方案。
- 用python画篮球场_如何使用 Python 创建一个 NBA 得分图
- Linux虚拟机CentOS7挂机问题
- cpp整理学习笔记 文件I/O:随机存取fseek()和ftell()
- 首战告捷!网易有道斩获首届NLPCC中文语法错误修正比赛冠军