https://www.acmicpc.net/problem/16956
#include<stdio.h>
int main() {
int r,c;
scanf("%d %d",&r,&c);
char arr[r][c];
for(int i=0;i<r;i++){
char st[c+1];
scanf("%s",&st);
for(int j=0;j<c;j++){
arr[i][j]=st[j];
}
}
int check=1;
int dx[]={0,0,1,-1};
int dy[]={1,-1,0,0};
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
if(arr[i][j]=='W'){
for(int k=0;k<4;k++){
int x=i+dx[k];
int y=j+dy[k];
if(x>=0 && x<r && y>=0 && y<c){
if(arr[x][y]=='.'){
arr[x][y]='D';
}
else if(arr[x][y]=='S'){
check=0;
printf("%d",0);
return 0;
}
}
}
}
}
}
if(check==0) printf("%d",0);
else{
printf("%d\n",1);
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
printf("%c",arr[i][j]);
}
printf("\n");
}
}
}