import java.io.IOException;
import java.util.StringTokenizer;
class Main implements Runnable {
static String ReadLn(int maxLength) { // utility function to read from stdin,
// Provided by Programming-challenges, edit for style only
byte line[] = new byte[maxLength];
int length = 0;
int input = -1;
try {
while (length < maxLength) {//Read untill maxlength
input = System.in.read();
if ((input < 0) || (input == '\n')) {
break; //or untill end of line ninput
}
line[length++] += input;
}
if ((input < 0) && (length == 0)) {
return null; // eof
}
return new String(line, 0, length);
} catch (IOException e) {
return null;
}
}
public static void main(String args[]) // entry point from OS
{
Main myWork = new Main(); // Construct the bootloader
myWork.run(); // execute
}
public void run() {
new myStuff().run();
}
}
class myStuff implements Runnable {
public void run() {
String input;
java.util.StringTokenizer idata;
int inputno = 0;
while ((input = Main.ReadLn(255)) != null) {
inputno++;
idata = new StringTokenizer(input);
int n = Integer.parseInt(idata.nextToken());
int m = Integer.parseInt(idata.nextToken());
if (n <= 0 || n > 100 || m <= 0 || m > 100) {
break;
}
char inputpattern[][] = new char[n][m];
for (int i = 0; i < n; i++) {
String s = Main.ReadLn(255);
for (int j = 0; j < m; j++) {
inputpattern[i][j] = s.charAt(j);
}
}
int output[][] = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (inputpattern[i][j] == '*') {
if (i < n - 1) {
output[i + 1][j] += 1;
if (j > 0) {
output[i + 1][j - 1] += 1;
}
if (j < m - 1) {
output[i + 1][j + 1] += 1;
}
}
if (i > 0) {
output[i - 1][j] += 1;
if (j > 0) {
output[i - 1][j - 1] += 1;
}
if (j < m - 1) {
output[i - 1][j + 1] += 1;
}
}
if (j > 0) {
output[i][j - 1] += 1;
}
if (j < m - 1) {
output[i][j + 1] += 1;
}
output[i][j] = 10;
}
}
}
if(inputno!=1)
{
System.out.println("");
}
System.out.println("Field #" + inputno + ":");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (output[i][j] > 8) {
System.out.print("*");
} else {
System.out.print(output[i][j]);
}
}
System.out.println("");
}
}
}
}
0 comments: