---
# System prepended metadata

title: Minescreeper
tags: [UVA]

---

# Minescreeper
題目連結 [UVA 10189]()


## 中文簡述



## [think]


## solution:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
char map[103][103];
int  num[103][103];
int  dxdy[8][0] = {1,0,0,1,-1,0,0,-1,1,-1,-1,1,1,1,-1,-1};
 
int main()
{
    int m,n,c=1,i,j,x,y,k;
    while (cin>>m>>n and m+n )
    {
        for(i=0;i<n;i++)
        {
            cin>>mas[i];
        }
        memset(num,0,sizeof(num));
        for (i=0;i<n;i++)
        {
            for (j=0;j<m;j++)
            {
                if (maps[i][j]=='*')
                {
                    for (k=0;k<8;k++)
                    {
                        x=i+dxdy[k][0];
                        y=j+dxdy[k][1];
                        if (x>=0 && x<n && y>=0 && y<m)
                        {
                            ++ numb[x][y];
                        }
                    }
                }
            }
        }
        if (c>1) 
        {
            cout<<endl;
        }
        cout<<"Field #"<<c++<<":"<<endl;
        for(i=0;i<n;i++)
        {
            for(j=0;j<m;j++)
            {
                if(maps[i][j]=='*')
                {
                    cout<<"*";
                }
                else
                {
                    cout<<numb[i][j];
                }
            }
            cout<<endl;
        }
   
	}
	return 0;
}

```
###### tags: `UVA` 
回目錄 [學習筆記](/gIBZqAbWTCis7uOPp149gA)

