Deff_Dev
[코드업] 설탕과자 뽑기 (C++) 본문
문제
이 문제는 가로 길이가 w이고 세로 길이가 h인 격자판에 n개의 막대를 놓는데,
각 막대는 길이 l을 가지며 놓는 방향(d == 0 ↓, d == 1 → )과 시작 지점(x, y)이 주어진다.
각 막대를 놓은 뒤의 격자판 상태를 출력하는 문제이다.
여기서 막대를 놓은 부분은 1로, 놓지 않은 부분은 0으로 표시한다.
풀이
이중 for문을 이용하여 입력받은 위치에 막대기 길이 만큼 막대기를 놓는 방법으로 풀이했다.
#include <iostream>
// https://codeup.kr/problem.php?id=1098
using namespace std;
int map[100][100] = { 0, };
int main() {
int h, w, n, l,d,x,y;
cin >> h >> w >> n;
// 격자판에 막대기 놓기
for (int i = 0; i < n; i++) {
cin >> l >> d >> x >> y;
// 막대기의 길이 만큼 막대기를 놓음
for (int j = 0; j < l; j++) {
map[x][y] = 1;
if (d == 0) {
y++;
}
else {
x++;
}
}
}
// 출력
for (int i = 1; i <= h; i++) {
for (int j = 1; j <= w; j++) {
cout << map[i][j] << " ";
}
cout << endl;
}
return 0;
}
'코딩테스트 > 코드업' 카테고리의 다른 글
[코드업] 진격 후 결과 (C++) (0) | 2024.03.27 |
---|---|
[코드업] 생명 게임 1 (C++) (2) | 2024.03.27 |
[코드업] 지뢰 찾기 1 (C++) (4) | 2024.03.26 |
[코드업] 성실한 개미 (C++) (0) | 2024.03.25 |
[코드업] 주사위를 2개 던지면 ? (C++) (0) | 2024.03.24 |