程序设计进阶 编程题#6:流感传染

原创 2016年08月30日 08:57:09

描述

第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得病的不变),空房间不会传染。请输出第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;
}

结果如下图所示:


版权声明:本文为博主原创文章,未经博主允许不得转载。

流感传染(C程序设计进阶 第2周)

编程题#6:流感传染 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着...
  • abc8730866
  • abc8730866
  • 2017年02月23日 22:36
  • 213

流感传染(C++实现)

描述 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得...
  • liuyuxin123
  • liuyuxin123
  • 2017年07月24日 17:12
  • 356

编程题#6:流感传染 C语言

思路: 遍历所有的房间,是@的就遍历@附近的点,@附近的点是.就标记为! 再次遍历所有点,将!改为@ 最后遍历所有点,统计@的个数num并输出 (其中我查找所有点的时候分为了这几块) ...
  • yanqueen2011
  • yanqueen2011
  • 2017年01月16日 20:19
  • 160

流感传染(C程序设计进阶第2周)

问题描述 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经...
  • NNNNNNNNNNNNY
  • NNNNNNNNNNNNY
  • 2015年11月09日 18:41
  • 1554

流感传染(C程序设计进阶 第2周)

编程题#6:流感传染 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着...
  • abc8730866
  • abc8730866
  • 2017年02月23日 22:36
  • 213

6262:流感传染

6262:流感传染查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,...
  • qq_37862149
  • qq_37862149
  • 2017年06月20日 13:23
  • 125

从谷歌流感趋势谈大数据分析的光荣与陷阱

【摘要】本文从谷歌流感趋势2009年前后表现差异谈起,讨论了大数据分析容易面临的大数据自大、算法演化、看不见的动机导致数据生成机制变化等陷阱,以及对我国大数据产业发展的借鉴。本文认为,为健康发展大数据...
  • u010999396
  • u010999396
  • 2017年03月14日 22:44
  • 1291

【原创】【OpenJudge】6262:流感传染

6262:流感传染 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间...
  • c20182030
  • c20182030
  • 2016年09月14日 13:41
  • 465

[NOIP2003] 传染病控制-解题报告

[NOIP2003] 传染病控制★★★ 输入文件:epidemic.in 输出文件:epidemic.out 简单对比 时间限制:1 s 内存限制:128 MB问题背景近来,一种新的...
  • Mu_Zhou233
  • Mu_Zhou233
  • 2016年10月13日 21:27
  • 444

从谷歌流感趋势(GFT)出错看大数据发展之路

如今,包括电视在内的许多媒体,都有“大数据分析”相关的一些栏目,大数据的概念也正在悄悄进入普通老百姓的意识中。我最早接触大数据应用的时候,被其中的一个重要案例所吸引,那就是谷歌与甲型H1N1流感的传奇...
  • cao812755156
  • cao812755156
  • 2015年05月31日 10:48
  • 1637
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:程序设计进阶 编程题#6:流感传染
举报原因:
原因补充:

(最多只允许输入30个字)