[문제]
유형: 구현/시뮬레이션
언어: C++
난이도: 실5
사이트: https://www.acmicpc.net/problem/1531
[리뷰]
쟁점: 2차원 배열에 겹친 수를 누적하기
종이 관련 문제는 2차원 배열에 값을 저장하여 이용하는 문제가 많다.
종이를 추가할 때마다, 종이에 대한 배열 위치에 값을 누적한다.
그 누적 값이 M을 넘기는 위치 개수를 센다.
학습 내용.
none
해답.
입력받을 때 img[x][y] 값 1 증가.
모두 입력 받은 후, img[x][y] > M인 개수 출력.
[코드]
// p8320. 직사각형을 만드는 방법
// C++로 다시 풀기
#pragma warning(disable:4996)
#include<iostream>
using namespace std;
int img[101][101];
int main(void)
{
int N, M;
int xs, ys, xe, ye;
int ans = 0;
cin >> N >> M;
while (N--)
{
cin >> xs >> ys >> xe >> ye;
for (int x = xs; x <= xe; ++x)
{
for (int y = ys; y <= ye; ++y)
{
++img[x][y];
}
}
}
for (int x = 1; x <= 100; ++x)
{
for (int y = 1; y <= 100; ++y)
{
if (img[x][y] > M) ans++;
}
}
cout << ans << endl;
return 0;
}'코딩 문제풀이 > 백준' 카테고리의 다른 글
| 백준 8320. 직사각형을 만드는 방법 (0) | 2025.06.23 |
|---|---|
| 백준 2851. 슈퍼마리오 (0) | 2025.06.23 |
| 백준 14470. 전자레인지 (0) | 2025.06.22 |