H题的测试点不能全过,这样做有什么问题?

#include<bits/stdc++.h>
using namespace std;
char a[1100][1100];
int vis[1100][1100];
int n, m;
int dirt[8][2] = {{-1, -1}, {-1, 0}, {-1, 1}, {0, 1}, {1, 1}, {1, 0}, {1, -1},{0,-1},};
int main() {
	cin >> n >> m;
	int dx, dy;
	for(int i = 1; i <= n; i ++) {
		for(int j = 1; j <= m; j ++) {
			cin >> a[i][j];
			if(a[i][j] == 'M') vis[i][j] = 1;
			else if(a[i][j] == 'H') {
				vis[i][j] = 1;
				for(int k = 0; k <8; k++) {
					dx = i+dirt[k][0];
					dy = j+dirt[k][1];
					if(dx >=1 && dx <= n && dy >=1 && dy <=m)
					vis[dx][dy] = 1;
				}
			}
		}
	}
	for(int i = 1; i <= n; i ++) {
		for(int j = 1; j <=m; j ++) {
			if(vis[i][j] != 1) {
			 if(a[i][j] == 'L') {					
				int flag = 0;
					for(int  k = 0; k < 8; k ++) {
							dx = i+dirt[k][0];
							dy = j+dirt[k][1];
						if( dx < 1 || dx > n || dy <1 || dy >m || a[dx][dy] != 'L') {							
								flag = 1;
								break;	
							}
						}																									
						if(flag == 0) {
							vis[i][j] = 2;
						}
						for(int k = 0; k < 8; k ++) {
							dx = i+dirt[k][0];
							dy = j+dirt[k][1];
							if(dx >=1 && dx <= n && dy >=1 && dy <=m &&a[dx][dy] == 'G' && vis[dx][dy] == 0)
							vis[dx][dy] = 3;																				
						}
					}
				}
			}
		}
for(int i = 1; i <= n; i ++) {
	for(int j = 1; j <=m; j ++) {
		
		if(vis[i][j] == 2 && a[i][j] == 'L') {
			a[i][j] = 'S';
		}
		if(vis[i][j] == 3 && a[i][j] == 'G') {
			a[i][j] = 'N';
		}
		if(vis[i][j] == 0 && a[i][j] == 'G') {			
			a[i][j] = 'B';
		}
	}
}
for(int i = 1; i <= n; i ++) {
	for(int j = 1; j <= m; j++) {
		printf("%c",a[i][j]);
		if(j == m)printf("\n");
	}
}
	return 0;
}

全部评论
这个比赛的题
点赞 回复 分享
发布于 2024-04-11 12:43 江西

相关推荐

头像
11-03 16:48
已编辑
百度_高级研发工程师
事实是检验真理的唯一标准。&nbsp;无论我们怎么去说,去讲述,去证明,都抵不过一个offer来得实在,无论我们怎么去复现求职中的摸爬滚打、扒皮抽筋、狼狈不堪,都抵不过你在简历写上大厂的名字(外包不算)。&nbsp;所以在我求职期间,我什么话都不说,什么话都不讲,因为没有意义,虽然我总讲过程才是意义,但只有当你上岸的那一刻,你才有资格回想在水里的挣扎,只有等你出了山,你才知道山的全貌。&nbsp;我为什么一定要离开华为OD,难道它不稳定吗,不能赚钱吗。为了证明自己,那肯定有的。其实更多的是印证我的认知是否真的正确。&nbsp;(给不了解我的人交代一下背景,在下双非一本,gap一年,华为OD外包,摸爬滚打4个月,艰难上岸百度正编)一、...
先锋战士:说得很真诚。鄙视链自古有之,学历,家庭背景,财富,权利。从小有之,小学羡慕那些当班委的,中学羡慕那些学生会的,高中羡慕尖子班拿教学金的,大学羡慕高绩点,毕业了羡慕进大厂的。工作了,又羡慕高职级的,再后来又羡慕别人早早结婚的。我想表达的观点很简单,无论是华为od还是百度,都是经历,没有孰高孰低,为了抵达下一个风景,总会付出更多东西,但不就是人生吗?正如登山,每个阶段的山,都要想办法攀登,在博主的文字中,见到了坚持和积极寻找问题解决办法的心态
学历对求职的影响
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务