#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int row, col;
scanf("%d %d", &row, &col);
char **m = malloc(sizeof(char*)*row);
for (int i = 0; i < row; i++)
{
m[i] = malloc(sizeof(int)*(col+1));
}
for (int i = 0; i < row; i++)
{
scanf("%s", m[i]);
}
for (int i = 0; i < row+1; i++)
{
for (int j = 0; j < col; j++)
{
int sum = 0;
if (m[i][j] == '*')
printf("*");
else
{
if ((i+1)<row && m[i+1][j] == '*')
sum++;
if ((i + 1)<row && m[i+1][j+1] == '*')
sum++;
if ((i + 1)<row && (j-1)>=0 && (m[i+1][j-1] == '*'))
sum++;
if (m[i][j+1] == '*')
sum++;
if ((j - 1) >= 0 && (m[i][j-1] == '*'))
sum++;
if ((i - 1) >= 0 && m[i-1][j] == '*')
sum++;
if ((i - 1) >= 0 && m[i-1][j+1] == '*')
sum++;
if ((i - 1) >= 0 && m[i-1][j-1] == '*')
sum++;
printf("%d", sum);
}
}
printf("\n");
}
for (int i = 0; i < col; i++)
free(m[i]);
free(m);
return 0;
}
위와 같은 코드를 비쥬얼 스튜디오 2015에서 실행하였을때는 실행이 잘 되고 답도 잘 나왔는데
사이트에 제출을 하니깐 실행할수 없는 코드라고 뜹니다.
Visual Studio에서 실행하고 결과가 나왔다고 하더라도 다음과 같이 메모리 접근 위반 예외가 발생했다면 잘못된 코드를 작성한 것입니다.
심사가 진행되는 리눅스에서는 결과를 출력하기 전에 예외가 발생합니다.
다음 온라인 컴파일러에 문의한 코드와 예시 입력이 되어 있습니다.
https://glot.io/snippets/fjjr19r926
에러가 없는 코드를 작성해야만 심사를 통과할 수 있습니다.