본문으로 바로가기

[백준 2563] 색종이

category 알고리즘/백준 알고리즘 2018. 5. 8. 20:34
글에 개요

백준 알고리즘 2563번 "색종이" 문제입니다.
백준 알고리즘 분류에서 '구현'에 있는 문제입니다.
이 문제는 1사분면을 2차원 배열에 올려놓는다고 생각하시면 쉽게 해결되는 문제입니다.

[백준 2563] 색종이https://www.acmicpc.net/problem/2563

참고할 글
  1. http://brenden.tistory.com/40 ([백준 2577] 숫자의 개수 - 구현 문제)

  2. http://brenden.tistory.com/41 ([백준 2839] 설탕 배달 - 구현 문제)

  3. http://brenden.tistory.com/42 ([백준 10798] 세로읽기 - 구현 문제)

  4. http://brenden.tistory.com/44 ([백준 1764] 듣보잡 - 구현 문제)


핵심 내용
  1. 2차원배열을 1사분면에 올려놓는다고 생각하면 됩니다.
  2. 색종이가 1사분면에 닿는 부분에 1로 초기화를 해주고 넓이를 검사하기 위해 cnt 변수를 선언해줍니다.


해결 방법
  1. 1사분면을 표현해주는 map 2차원 배열과 넓이를 검사하는 cnt 변수를 선언합니다.
  2. x,y좌표를 기준으로 +10의 거리에 있는 곳 모두를 1로 표시해주고 넓이를 1 증가시켜줍니다.
  3. 단, 이미 1로 표시되어 있을 경우 초기화를 생략해주면 됩니다.

해결한 코드



백준 참고 내용

시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초128 MB26121813154971.055%

문제

가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오.

예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다.

입력

첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리이고, 두 번째 자연수는 색종이의 아래쪽 변과 도화지의 아래쪽 변 사이의 거리이다. 색종이의 수는 100 이하이며, 색종이가 도화지 밖으로 나가는 경우는 없다

출력

첫째 줄에 색종이가 붙은 검은 영역의 넓이를 출력한다.

예제 입력 1 

3
3 7
15 7
5 2

예제 출력 1 

260


'알고리즘 > 백준 알고리즘' 카테고리의 다른 글

[백준 1978] 소수 찾기  (0) 2018.05.10
[백준 2960] 에라토스테네스의 체  (0) 2018.05.09
[백준 1764] 듣보잡  (0) 2018.05.08
[백준 10798] 세로읽기  (0) 2018.05.07
[백준 2839] 설탕 배달  (0) 2018.05.06

댓글을 달아 주세요