No Rules Rules

색종이 - 2 (feat. 백준, 2567번) 본문

생활/코테

색종이 - 2 (feat. 백준, 2567번)

개발하는 완두콩 2023. 2. 27. 17:26
728x90
반응형

색종이 - 2
https://www.acmicpc.net/problem/2567

 

2567번: 색종이 - 2

가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록

www.acmicpc.net

 

// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
using namespace std;
int main(){
    ios::sync_with_stdio(false), cin.tie(NULL);
    bool arr[101][101]{false};
    register int N, dx[4]{1, -1, 0, 0}, dy[4]{0, 0, 1, -1}, ans = 0;
    cin >> N;
    for(register int n = 0, x, y; n < N; ++n){
        cin >> x >> y;
        for(register int i = x, j; i < x + 10; ++i)
            for(j = y; j < y + 10; ++j)
                arr[i][j] = true;
    }
    for(register int i = 1, j, d, nx, ny; i <= 100; ++i)
        for(j = 1; j <= 100; ++j)
            if(arr[i][j])
                for(d = 0; d < 4; ++d){
                    nx = i + dx[d], ny = j + dy[d];
                    if(!arr[nx][ny])
                        ++ans;
                }
    cout << ans;
	return 0;
}
// *&)*@*

 

반응형
  1. 색종이를 붙인 영역과 붙이지 않은 영역을 나눠줍니다.
  2. (1,1) ~ (100,100) 까지 검사하며 색종이를 붙인 영역이라면 상,하,좌,우 를 각각 살핍니다. 붙이지 않은 영역이라면 +1씩 해주고 그 값을 출력하면 됩니다.
728x90
반응형
Comments