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. }

 

相关文章
程序人生 - 细胞战斗实录!新冠肺炎原来是这样被治愈的!
程序人生 - 细胞战斗实录!新冠肺炎原来是这样被治愈的!
125 0
程序人生 - 细胞战斗实录!新冠肺炎原来是这样被治愈的!
|
资源调度
传染病模型试验
传染病模型试验
125 0
程序人生 - 如何区分感冒流感和新冠肺炎?
程序人生 - 如何区分感冒流感和新冠肺炎?
100 0
|
安全 数据挖掘 C++
迄今最大规模新冠肺炎临床数据:男性病死率是女性3倍多,一人可传染3.77人
迄今最大规模新冠肺炎临床数据:男性病死率是女性3倍多,一人可传染3.77人
276 0
迄今最大规模新冠肺炎临床数据:男性病死率是女性3倍多,一人可传染3.77人
|
安全 5G
迷惑行为:英国民众烧5G基站来抗击新冠病毒
最近英国兴起了一种阴谋论,认为新冠病毒的传播与5G信号基站有关,甚至获得某些名人力挺。于是,英国接连三座5G基站遭到纵火,甚至只提供4G服务的基站也躺枪。这个一眼就假的阴谋论,怎么就蛊惑了那么多英国民众呢?
|
人工智能 安全
如果细菌病毒人人可以看得见
武汉新型病毒为什么那么可怕?首先,传播速度快,飞沫传播和接触传播,气溶胶和粪口等传播。其次,短期类没有预防的药物以及治疗药物,只能靠行为预防(勤洗手、戴口罩、不聚集、宅在家)。因此,给百姓带来恐慌,引发一系列的社会问题:防疫物资紧张,全民封闭在家,经济损失更是带数以亿万计。我就在想,人工智能能否让细菌病毒看得见,大家也就不那么恐慌,毕竟看得见的敌人比看不见的敌人要好得多。
616 0
|
安全 物联网 数据安全/隐私保护