Start: Jan, 08, 2019 19:01:00
2018年秋季学期程序设计基础(C语言)期末考试
End: Jan, 08, 2019 21:46:00
Time elapsed:
Time remaining:

Problem_ID: H
Result: Accepted
Time: 5ms
Memory: 1116kB
In contest: 1258

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int n,m;
char s[101][101];
char onc[101][101]={0};
void click(int x,int y){
	if(s[x][y]=='*'&&onc[x][y]==0){
		onc[x][y]=1;
		s[x][y]='0';
		if(x+1<n)
			click(x+1,y);
		if(x-1>=0)
			click(x-1,y);
		if(y+1<m)
			click(x,y+1);
		if(y-1>=0)
			click(x,y-1);
	}
	else
		return;
}
int main() 
{
	int i,j,k,l,a,b;
	scanf("%d%d",&n,&m);
	getchar();
	for(i=0;i<n;i++)
		scanf("%s",s[i]);
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			if(s[i][j]=='L'){
				if(i+1<n&&j+1<m&&s[i+1][j+1]=='*')
					s[i+1][j+1]='#';
				if(i+1<n&&s[i+1][j]=='*')
					s[i+1][j]='#';
				if(i+1<n&&j-1>=0&&s[i+1][j-1]=='*')
					s[i+1][j-1]='#';
				if(j+1<m&&s[i][j+1]=='*')
					s[i][j+1]='#';
				if(j-1>=0&&s[i][j-1]=='*')
					s[i][j-1]='#';
				if(i-1>=0&&j+1<m&&s[i-1][j+1]=='*')
					s[i-1][j+1]='#';
				if(i-1>=0&&s[i-1][j]=='*')
					s[i-1][j]='#';
				if(i-1>=0&&j-1>=0&&s[i-1][j-1]=='*')
					s[i-1][j-1]='#';
			}
	getchar();
	scanf("%*c%d%*c%d",&a,&b);
	click(a,b);
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			if(s[i][j]=='#')
				s[i][j]='*';
	s[a][b]='0';
	for(i=0;i<n;i++){
		for(j=0;j<m;j++)
			printf("%c",s[i][j]);
		printf("\n");
	}
}