문제1247--지뢰를 심자

1247: 지뢰를 심자

시간제한 : 1.000 sec  메모리제한 : 128 MB  Special Judge

문제 설명

지뢰찾기 게임은 3가지 크기의 지뢰밭을 이용하여 게임을 진행합니다. 작은 지뢰밭은 9x9, 중간 크기의 지뢰밭은 16x16, 가장 큰 크기의 지뢰밭은 16x30입니다. 각 크기마다 지뢰는 10개, 40개, 99개가 랜덤한 위치에 심어진 상태로 게임이 진행됩니다. 지뢰밭 크기가 주어졌을 때, 지뢰를 랜덤한 위치에 심어주세요.
C++프로그래밍 교과 과제용 문제입니다.

입력 설명

첫 줄에는 테스트케이스 T(1<=T<=50)가 주어집니다. 각 테스트케이스는 한 줄에 주어지며, 각 테스트케이스마다 정수 S(0<=1<=2)가 주어집니다. S는 지뢰밭의 크기를 나타내며, 0은 작은 크기 지뢰밭, 1은 중간 크기 지뢰밭, 2는 큰 크기 지뢰밭을 나타냅니다.

출력 설명

각 테스트케이스마다 지뢰밭은 크기의 2차원 배열애 지뢰를 심고, 그 결과를 출력해 주세요. 지뢰가 없는 곳은 0, 지뢰가 있는 곳은 -1이 출력되어야 합니다.

입력 예시 Copy

1
0

출력 예시 Copy

0 0 0 0 0 0 0 0 -1
0 0 0 0 0 0 0 0 -1
0 0 0 0 0 0 0 0 -1
0 0 0 0 0 0 0 0 -1
0 0 0 0 0 0 0 0 -1
0 0 0 0 0 0 0 0 -1
0 0 0 0 0 0 0 0 -1
0 0 0 0 0 0 0 0 -1
-1 0 0 0 0 0 0 0 -1

도움

출력 예시는 예일 뿐입니다. 이 과제는 통과도 중요하지만 제출한 코드 내용을 보고 평가합니다.
2차원 배열은 main에서 생성하여 지뢰를 심는 함수로 전달한 후에 출력을 해야 합니다.
2차원 배열은 동적 2차원 배열을 생성할 수 있지만 다음과 같이 벡터의 벡터를 사용하세요.
std::vector<std::vector<int>> field(9, std::vector<int>(9)); // small
std::vector<std::vector<int>> field(16, std::vector<int>(16)); // small
std::vector<std::vector<int>> field(16, std::vector<int>(30)); // small
지뢰를 랜덤하게 심는 함수의 예시는 다음과 같습니다.
void setMines(std::vector<std::vector<int>>& mineField);

출처/분류