반응형
https://codeup.kr/problem.php?id=1098&rid=0
[기초-2차원배열] 설탕과자 뽑기
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
코드
#include <iostream>
using namespace std;
int main() {
int h, w, n, l, d, x, y;
int a[100][100] = { };
cin >> h >> w;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> l >> d >> x >> y;
a[x][y] = 1;
if (d == 0) {
for (int j = 1; j < l; j++) {
a[x][y + j] = 1;
}
}
else {
for (int j = 1; j < l; j++) {
a[x + j][y] = 1;
}
}
}
for (int i = 1; i <= h; i++) {
for (int j = 1; j <= w; j++) {
cout << a[i][j] << " ";
}
cout << "\n";
}
return 0;
}
풀이
세로 h, 가로 w의 크기를 가지는 격자판에 입력받은 조건의 막대를 놓는 문제이다.
n개의 막대를 격자판에 놓는데 막대의 길이는 l, 방향은 d, 좌표 x, y를 활용한다.
x, y에 의한 좌표를 먼저 1로 바꾸고 가로 세로에 따라 가로면 열 증가, 세로면 행 증가시키고 그 길이는 d에 맞추어 증가시키게 하였다.
반응형
'문제 해결 > CodeUp' 카테고리의 다른 글
[CodeUp] [C++] 1101번 Hello, World! (0) | 2024.01.14 |
---|---|
[CodeUp] [C++] [기초 100제] 1099번 성실한 개미 (0) | 2022.12.06 |
[CodeUp] [C++] [기초 100제] 1097번 바둑알 십자 뒤집기 (0) | 2022.12.06 |
[CodeUp] [C++] [기초 100제] 1096번 바둑판에 흰 돌 놓기 (2) | 2022.12.06 |
[CodeUp] [C++] [기초 100제] 1095번 이상한 출석 번호 부르기 3 (0) | 2022.12.06 |