疫情生病怎么办 wa 0分

#include
using namespace std;
int main(){
int a[100][100],n,m,cnt=0;
cin>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<=m;j++){
scanf(“%d”,&a[i][j]);
}
}
for(int i=0;i<n;i++){
for(int j=0;j<=m;j++){
if(a[i][j]==0){
if(i-1>=0 && a[i-1][j]==1){
a[i-1][j]=2;
}
if(i+1<n && a[i+1][j]==1){
a[i+1][j]=2;
}
if(i-1>=0 && a[i][j-1]==1){
a[i][j-1]=2;
}
if(i+1<m && a[i][j+1]==1){
a[i][j+1]=2;
}
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<=m;j++){
if(a[i][j]==1){
cnt++;
}
}
}
cout<<cnt;
}

4 个赞

把题目描述发一下

4 个赞

【题目描述】

疫情期间感冒发烧,如果没有接触过新冠病毒的患者或者不是从疫区回来的,身体出现发热的情况不要过于担心,这可能是普通感冒引起的发烧,可以采取物理降温法进行降温的,但是发烧长期没有降温的情况下,建议尽快去医院发热门诊进行检查治疗了,发烧一定要注意大量喝水。

这天,小明明的班里出现了若干个发烧的同学,已知他们班级按照n行m列的方式坐座位,发烧者会将其前后左右四位同学轻度传染,但轻度传染者不会再传染其他人。作为防疫小达人,请你帮助小明明快速统计出一轮传染后班级健康同学的人数。

【输入格式】

第一行输入两个整数n和m(3<=n,m<=100)。

接下来n行每行输入m个数,数字0表示发烧的同学,数字1表示一开始健康的同学。

【输出格式】

输出一轮传染后健康同学的人数。

6 个赞

这位小伙纸,首先,就是你的<bits/stdc++.h>没打,然后,你8行的“ ”是中文的,最后就是你每个循环里的j都是0~m,但根据题意,你应该要么是0~m-1要么是1~m才对

4 个赞

是的头文件没有是肯定CE的

3 个赞

修改的核心代码如下:

for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			if(a[i][j]==0){
				if(i-1>=0 && a[i-1][j]==1){
					a[i-1][j]=2;
				}
				if(i+1<n && a[i+1][j]==1){
					a[i+1][j]=2;
				}
				if(j-1>=0 && a[i][j-1]==1){
					a[i][j-1]=2;
				}
				if(j+1<m && a[i][j+1]==1){
					a[i][j+1]=2;
				}
			}
		}
	}
6 个赞

6,上课发

4 个赞