문 ¶
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; } }