80分,测试点6和9是错的?
查看原帖
80分,测试点6和9是错的?
995222
Dead2days楼主2024/10/20 15:09
#include<cstdio>

int n, m;
char map[100][100]={'_'}, test;
int main() {
	scanf("%d%d", &n, &m);
	scanf("%c", &test);
	for (int i=0;i<n;i++) {
		int book = 0;
		test = ' ';
		while (test!='\n') {
			scanf("%c", &test);
			if (test != '\n') {
				map[i][book] = test;
			}
			book++;
		}
	}
	for (int i=0;i<n;i++) {
		for (int j=0;j<m;j++) {
			if (map[i][j]=='*') printf("*");
			else {
				int bbook = 0;
				if (j-1>-1&&map[i][j-1]=='*') bbook++;
				if (i-1>-1&&j-1>-1&&map[i-1][j-1]=='*') bbook++;
				if (i+1<m&&j-1>-1&&map[i+1][j-1]=='*') bbook++;
				if (j+1<n&&map[i][j+1]=='*') bbook++;
				if (i-1>-1&&j+1<n&&map[i-1][j+1]=='*') bbook++;
				if (i+1<m&&j+1<n&&map[i+1][j+1]=='*') bbook++;
				if (i-1>-1&&map[i-1][j]=='*') bbook++;
				if (i+1<m&&map[i+1][j]=='*') bbook++;
				printf("%d",bbook);
			}
		}
		printf("\n");
	}
	
	return 0;
}
2024/10/20 15:09
加载中...