付翔的专栏
在鄙视中成长 记录成长的点滴
posts - 106,  comments - 32,  trackbacks - 0

 

#include <iostream>
using namespace std;
char map[102][102];
int dir[8][2= //八个方向 从左上开始
    {-1,-1},{0,-1},{1,-1},{1,0},{1,1},{0,1},{-1,1},{-1,0}
}
;
int n,m;

bool isN(int i)
{
    
if(i<n&&i>=0)
        
return true;
    
return false;
}

bool isM(int i)
{
    
if(i<m&&i>=0)
        
return true;
    
return false;
}


int count_weeper(int i,int j)
{
    
char c;
    
int d ,total, x ,y;;
    
if(map[i][j]=='*')
        
return -1;
    
else
    
{
        
        
        
for(total = 0,d = 0; d < 8; d ++)
        
{
            x 
= i+dir[d][0];
            y 
= j+dir[d][1];
            
if(map[x][y]=='*'&&(isN(x))&&isM(y))
                total 
++;
        }

        
return total;
    }

}


int main()
{
    
int i,j,temp;
    
int T = 1;;
    
while(1)
    
{
        
        
//scanf("%d%d",&n,&m);
        
        cin
>>n>>m;
        
if(m==0&&n==0)
            
break;
        
if(T>=2)printf("\n");
        
//fflush(stdin);
        
//for(i = 0; i < n;i++)
        
//    gets(map[i]);
        for(i = 0; i < n; i ++)
            
for(j = 0; j < m; j ++)
                cin
>>map[i][j];//scanf("%c",&map[i][j]);
        printf("Field #%d:\n",T++);
        
for(i = 0;i < n;i++)
        
{
            
for(j = 0;j < m;j ++)
            
{
                temp 
= count_weeper(i,j);
                
if(temp ==-1)
                    printf(
"*");
                
else
                    printf(
"%d",temp);
            }

            printf(
"\n");
        }

        
if(T==1)printf("\n");
        
    }

    
return 0;
}
posted on 2010-07-22 12:35 付翔 阅读(144) 评论(0)  编辑 收藏 引用 所属分类: ACM 数据结构

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2011年1月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

CSDN - 我的blog地址

博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜