문 ¶
2006-01-03 05:40:25 Accepted 0.012 Minimum 56031 C++ 10189 - Minesweeper
감 ¶
매 문다.
방법 러가가 겠만 단게 2배 고 8가 방 모두 보는 방법 다.
대 력 기가 100 x 100므로 모두 보는 방법 매 빠른 결 다.
매 드딩라 드 라가 매 길다 -.-;;
방법 러가가 겠만 단게 2배 고 8가 방 모두 보는 방법 다.
대 력 기가 100 x 100므로 모두 보는 방법 매 빠른 결 다.
매 드딩라 드 라가 매 길다 -.-;;
려던 ¶
는 로 Presentation Error를 러 다. 것 로그램 는 답 맞나 력 못된 경 발다.
문는 력로 반드 가라고 다. 것 매 매 로 루 딩 려 겪다.
결과로 기면 나 력가 경 밑 고 나 때만 다.
밑 드 if문로 outputNumber > 1 부 Presentation Error를 벗나게 는 결방법다.
문는 력로 반드 가라고 다. 것 매 매 로 루 딩 려 겪다.
결과로 기면 나 력가 경 밑 고 나 때만 다.
밑 드 if문로 outputNumber > 1 부 Presentation Error를 벗나게 는 결방법다.
드 ¶
~cpp
// Minesweeper
// UVa ID : 10189
// 2 배 데 력 (1,1) 부 다.
#include <iostream>
//#include <fstream>
using namespace std;
#define ArSize 102
void process(char data[][ArSize], int row, int col);
void init_array(char data[][ArSize], int row, int col);
void output(char data[][ArSize], int row, int col);
//ifstream fin("input.txt");
int main()
{
char data[ArSize][ArSize];
int inputRow, inputCol;
int outputNumber = 1;
int i, j;
while (cin >> inputRow >> inputCol)
{
// 료
if ((inputRow == 0) && (inputCol == 0))
break;
// 배 기 (경값까 '.'로 기)
init_array(data, inputRow + 1, inputCol + 1);
// 력 (1,1) 맨 다.
for (i = 1; i <= inputRow; i++)
{
for (j = 1; j <= inputCol; j++)
{
cin >> data[i][j];
}
}
// 뢰 기
process(data, inputRow, inputCol);
// 력 (력 나 경는 밑 두 는다!!)
if (outputNumber > 1)
cout << endl;
cout << "Field #" << outputNumber++ << ":" << endl;
output(data, inputRow, inputCol);
}
return 0;
}
void process(char data[][ArSize], int row, int col)
{
int i, j;
char count = '0';
for (i = 1; i <= row; i++)
{
for (j = 1; j <= col; j++)
{
// 뢰는 pass
if (data[i][j] == '*')
continue;
else
{
// 북
if (data[i - 1][j - 1] == '*')
count++;
// 북
if (data[i - 1][j] == '*')
count++;
// 북동
if (data[i - 1][j + 1] == '*')
count++;
// 동
if (data[i][j + 1] == '*')
count++;
// 동남
if (data[i + 1][j + 1] == '*')
count++;
// 남
if (data[i + 1][j] == '*')
count++;
// 남
if (data[i + 1][j - 1] == '*')
count++;
//
if (data[i][j - 1] == '*')
count++;
data[i][j] = count;
count = '0';
}
}
}
}
// 배 기
void init_array(char data[][ArSize], int row, int col)
{
int i, j;
for (i = 0; i <= row; i++)
{
for (j = 0; j <= col; j++)
{
data[i][j] = '.';
}
}
}
// 력 - 배 내 력
void output(char data[][ArSize], int row, int col)
{
int i, j;
for (i = 1; i <= row; i++)
{
for (j = 1; j <= col; j++)
{
cout << data[i][j];
}
cout << endl;
}
}










