쉬운문제부터 공략하자 ~! ㅋ
아무래도 UVA중에 가장 쉬운 문제라고 생각한다. ㅎ
초보인 나에게 이러한 문제는 정말 반갑기 그지없다 ~~ ㅎ
출력때문에 황당했지만 ㅠ
#include <stdio.h>
int x[8]={-1,0,1,1,1,0,-1,-1};
int y[8]={1,1,1,0,-1,-1,-1,0};
int n,m;
char mine[100][100];
int minesweeper(int mx,int my){
int i,cnt=0;
for(i=0;i<8;i++){
if(mx+x[i] > -1 && mx+x[i] < n && my+y[i] > -1 && my+y[i] < m){
if(mine[mx+x[i]][my+y[i]]=='*')
cnt++;
}
}
return cnt;
}
int main(){
int i,j,minecnt,programcnt=0;
char buffer;
n=m=1;
while(n!=0 && m!=0){
scanf("%d %d",&n,&m);
scanf("%c",&buffer);
if(n==0 && m==0)
break;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%c",&mine[i][j]);
}
scanf("%c",&buffer);
}
if(programcnt==0)
printf("Field #%d:\n",++programcnt);
else
printf("\nField #%d:\n",++programcnt);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(mine[i][j]=='*')
printf("%c",mine[i][j]);
else{
minecnt=minesweeper(i,j);
printf("%d",minecnt);
}
}
printf("\n");
}
}
return 0;
}