程序设计进阶 编程题#6:流感传染
来源:互联网 发布:spss如何输入数据 编辑:程序博客网 时间:2024/04/28 03:41
描述
第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得病的不变),空房间不会传染。请输出第m天得流感的人数。
第一行一个数字n,n不超过100,表示有n*n的宿舍房间。
接下来的n行,每行n个字符,’.’表示第一天该房间住着健康的人,’#’表示该房间空着,’@’表示第一天该房间住着得流感的人。
接下来的一行是一个整数m,m不超过100.
输出
输出第m天,得流感的人数
样例输入
5
....#
.#.@.
.#@..
#....
.....
4
样例输出
16
代码如下:
#include<stdio.h>int f(char a[10][10],int n,int m){ int i,j,k,sum; sum=0; for(k=1;k<=m;k++) { for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(a[i][j]=='!') a[i][j]='@'; } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(a[i][j]=='@') { if(i-1>=0&&a[i-1][j]=='.') //上 a[i-1][j]='!'; if(i+1<n&&a[i+1][j]=='.') //下 a[i+1][j]='!'; if(j-1>=0&&a[i][j-1]=='.') //左 a[i][j-1]='!'; if(j+1<n&&a[i][j+1]=='.') //右 a[i][j+1]='!'; } } } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(a[i][j]=='@') sum++; } } printf("%d\n",sum); return 0;}int main(){ int n,m; int i; char a[10][10]; printf("请输入n\n"); scanf("%d",&n); printf("请输入宿舍区\n"); for(i=0;i<n;i++) scanf("%s",a[i]); printf("请输入天数\n"); scanf("%d",&m); f(a,n,m); return 0;}
结果如下图所示:
0 0
- 程序设计进阶 编程题#6:流感传染
- 编程题#6:流感传染 C语言
- 流感传染(C程序设计进阶第2周)
- 流感传染(C程序设计进阶 第2周)
- 流感传染
- 流感传染
- 流感传染
- 流感传染
- OpenJudge noi6262流感传染
- 6262:流感传染
- 【原创】【OpenJudge】6262:流感传染
- 流感传染(C++实现)
- 好莱坞风行“兔流感”你会被传染吗?
- 程序设计进阶 编程题#1:寻找下标
- 程序设计进阶 编程题#2:四大湖
- 程序设计进阶 编程题#3:发票统计
- 猪流感改称新型流感或称甲型新型流感,最新消息称加拿大已经有猪被养殖工人传染上这种病毒。
- 传染
- >LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Codeforces Problem 711A Bus to Udayland(brute force+implementation)
- 软件工程师的好习惯
- listView嵌套radiobutton
- MySQL存储过程,定时器
- 程序设计进阶 编程题#6:流感传染
- cocos 2dx 3.12 学习笔记(二) Sprite
- Interpreter模式
- [阶段二]Android UI进度组件
- 限制textarea字数并实时显示输入字…
- nginx 搭建LDAP认证
- android system alter window实现系统提示框
- 做好应用系统调研的四大步骤
- 第二十三天:多线程