網頁

2014年1月20日 星期一

UVA 10188 minesweeper

 #include <iostream>
 #include <cstdio>
 #include <cstring> 
 #define INF 0x7fffffff
 
 using namespace std ;
 
 int main(int argc, char *argv[])
 {
   int map[102][102] ;
   char ch ; 
   int n, m;
   for (int t=1 ; cin >> n >> m && n && m ; ++t){
     if(t>1) puts("") ;
     memset(map, 0, sizeof(map)) ;
     for (int i=1; i<=n ; ++i){
       for(int j=1 ; j<=m ; ++j){
         cin >> ch; 
         if (ch ==  '.'){
           map[i][j] = 0 ;
         }else {
           map[i][j] = -INF ;
         }
       }
     }
     
     for(int i=1 ; i<=n ; ++i){
       for(int j=1 ; j<=m ; ++j){
         if(map[i][j]<0){
           for(int k=-1 ; k<=1 ; ++k)
             for(int l=-1 ; l<=1 ; ++l)
               map[i+k][j+l]++ ; 
         }
      }
    }

    printf("Field #%d:\n", t) ; 
    for(int i=1 ; i<=n ; ++i){
      for(int j=1 ; j<=m ; ++j){
        if (map[i][j] < 0) {
          printf("*") ; 
        } else {
          printf("%d", map[i][j]) ; 
        }
      }
      puts(""); 
    }
  }
  return 0;
}

沒有留言:

張貼留言