The Java Program: E_minesweeper/mines_chinmay.java
1 import java.util.*;
2 import java.io.*;
3 public class mines_chinmay {
4 public static void main(String[] args) throws Exception{
5 int N, M;
6 int d[][] = {{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0},{-1,1}};
7 Scanner in = new Scanner(new File("mines.in"));
8 PrintStream out = new PrintStream(new File("mines.out"));
9 while((M = in.nextInt()) > 0)
10 {
11
12 N = in.nextInt();
13 boolean mine[][] = new boolean[M][N];
14 for(int j = 0; j < M; j++)
15 {
16
17 String temp = in.next();
18 for(int i = 0; i < N; i++)
19 mine[j][i] = temp.charAt(i)=='*'?true:false;
20
21 }
22
23 int table[][] = new int[M][N];
24 for(int i = 0; i < M; i++) Arrays.fill(table[i], 0);
25 for(int i = 0; i < M; i++)
26 for(int j = 0; j < N; j++)
27 if(mine[i][j])
28 {
29 for(int k = 0; k < 8; k++)
30 {
31 if(i+d[k][0] >= 0 && i+d[k][0] < M && j+d[k][1] >= 0 && j+d[k][1] < N)
32 table[i+d[k][0]][j+d[k][1]]++;
33 }
34 }
35
36 for(int i = 0; i < M; i++)
37 {
38 for(int j = 0; j < N; j++)
39 out.print(mine[i][j]?"*":(""+table[i][j]));
40 out.println();
41 }
42 }
43 }
44
45 }