1191:流感传染

简介: 1191:流感传染

1191:流感传染

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得病的不变),空房间不会传染。请输出第m天得流感的人数。

【输入】

第一行一个数字n,n不超过100,表示有n*n的宿舍房间。

接下来的n行,每行n个字符,’.’表示第一天该房间住着健康的人,’#’表示该房间空着,’@’表示第一天该房间住着得流感的人。

接下来的一行是一个整数m,m不超过100。

【输出】

输出第m天,得流感的人数。

【输入样例】

5

....#

.#.@.

.#@..

#....

.....

4

【输出样例】

16

【来源】

No

1. #include<iostream>
2. #include<stdio.h>
3. using namespace std;
4. char f[102][102];
5. int g[102][102]={0};
6. int xy[2][4]={{-1,0,1,0},{0,1,0,-1}};
7. int main()
8. {
9.  int n,m,i,j,k,l,sum=0;
10.   cin>>n;
11.   //初始化并标注 
12.   for(i=1;i<=n;i++) 
13.     for(j=1;j<=n;j++){
14.       cin>>f[i][j];
15.       if(f[i][j]=='@'){
16.         g[i][j]=1;sum++;
17.       }
18.     }
19.   cin>>m;
20.   for(k=2;k<=m;k++)
21.     for(i=1;i<=n;i++)
22.       for(j=1;j<=n;j++)
23.           for(l=0;l<4;l++){
24.             //判断该点的四周是否有前一天传染的邻居,找到即标注并退出 
25.             if((g[i+xy[0][l]][j+xy[1][l]]==(k-1))&&(f[i+xy[0][l]][j+xy[1][l]]=='@')&&(f[i][j]=='.')){
26.               f[i][j]='@';
27.               g[i][j]=k;
28.               sum++;
29.               break;
30.             }   
31.           } 
32.   printf("%d",sum);
33.   return 0;
34. }

 

相关文章
|
存储 安全 关系型数据库
Mysql 的binlog日志的优缺点
MySQL的binlog(二进制日志)是一个记录数据库更改的日志文件,它包含了所有对数据库执行的更改操作,如INSERT、UPDATE和DELETE等。binlog的主要目的是复制和恢复。以下是binlog日志的优缺点: ### 优点: 1. **数据恢复**:当数据库出现意外故障或数据丢失时,可以利用binlog进行点恢复(point-in-time recovery),将数据恢复到某一特定时间点。 2. **主从复制**:binlog是实现MySQL主从复制功能的核心组件。主服务器将binlog中的事件发送到从服务器,从服务器再重放这些事件,从而实现数据的同步。 3. **审计**:b
512 1
|
监控 BI API
利用ZABBIX进行服务器自动巡检并导出报表
利用ZABBIX进行服务器自动巡检并导出报表
利用ZABBIX进行服务器自动巡检并导出报表
|
11月前
|
JSON 安全 数据安全/隐私保护
告别密码泄露!Python OAuth与JWT双剑合璧,守护你的数字资产💰
本文探讨了在Python环境中利用OAuth 2.0和JSON Web Tokens (JWT) 提高系统安全性的方法。OAuth 2.0是一种开放标准授权协议,通过用户授权和令牌颁发来保护资源访问。JWT则是一种紧凑、自包含的认证方式,用于安全传输信息。文章详细介绍了如何使用Flask-OAuthlib实现OAuth 2.0认证,以及使用PyJWT生成和验证JWT。结合这两种技术,可以构建出既安全又高效的认证体系,为数据安全提供双重保障。
157 3
|
存储 前端开发 安全
C++一分钟之-未来与承诺:std::future与std::promise
【6月更文挑战第27天】`std::future`和`std::promise`是C++异步编程的关键工具,用于处理未完成任务的结果。`future`代表异步任务的结果容器,可阻塞等待或检查结果是否就绪;`promise`用于设置`future`的值,允许多线程间通信。常见问题包括异常安全、多重获取、线程同步和未检查状态。解决办法涉及智能指针管理、明确获取时机、确保线程安全以及检查未来状态。示例展示了使用`std::async`和`future`执行异步任务并获取结果。
417 2
|
人工智能 Python
读取excel工具:openpyxl | AI应用开发
`openpyxl` 是一个 Python 库,专门用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件。它是处理 Excel 文件的强大工具,可以让你在不需要安装 Excel 软件的情况下,对 Excel 文件进行创建、修改、读取和写入操作【10月更文挑战第3天】
321 0
|
Ubuntu Linux 测试技术
在Ubuntu 18.04上安装Docker Compose的方法
在Ubuntu 18.04上安装Docker Compose的方法
674 0
|
JSON 关系型数据库 MySQL
MySQL 8.0 新特性
MySQL 8.0 新特性
382 10
MySQL 8.0 新特性
|
存储 Java
【数据结构】二叉树重点知识和OJ题汇总(附有代码)
【数据结构】二叉树重点知识和OJ题汇总(附有代码)
262 0
|
机器学习/深度学习 数据采集 网络安全
使用Python实现深度学习模型:智能网络安全威胁检测
使用Python实现深度学习模型:智能网络安全威胁检测
661 6
|
存储 Kubernetes 安全
在k8S中,Secret 有哪些使用方式?
在k8S中,Secret 有哪些使用方式?