goorm
(구름 먼데이챌린지 c++ 2주차)4. 폭탄 구현하기
naeunchan
2022. 10. 31. 19:04
728x90
반응형
goorm
구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.
goorm.co
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, k;
vector<vector<int>> board(21, vector<int>(21, 0));
int direct_x[4] = {-1, 1, 0, 0};
int direct_y[4] = {0, 0, -1, 1};
int answer = 0;
cin >> n >> k;
for(int i = 0; i < k; i++){
int x, y;
cin >> x >> y;
for(int j = 0; j < 4; j++){
int nx = x + direct_x[j];
int ny = y + direct_y[j];
if(nx >= 1 && nx <= n && ny >= 1 && ny <= n){
board[nx][ny]++;
}
}
board[x][y]++;
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
answer += board[i][j];
}
}
cout << answer;
return 0;
}
구현 문제.
board를 21 x 21로 선언하고 0으로 초기화 한다.
인덱스르 1로 시작하기 위함이다.
폭탄이 떨어질 때마다 떨어지는 위치와 상하좌우에 +1을 해주면 된다.
상하좌우는 board의 범위를 벗어나지 않는다면 +1을 한다.
폭탄이 모두 떨어지고 나서 board를 순회해서 answer을 구하면 된다.
728x90
반응형