Algorithm/C++
[C++] 2563 : 색종이
ChanShare
2022. 11. 3. 12:17
728x90
반응형
2563번: 색종이
첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변
www.acmicpc.net
<code>
#include <iostream>
using namespace std;
int N;
int cd[111][111]; //컴퓨터의 픽셀과 비슷
int main() {
int x,y;
int ans;
cin>>N;
ans=0;
for(int j=0;j<N;j++){
cin>>x>>y;
//픽셀 칠하기
for(int a=x;a<x+10;a++){
for(int b=y;b<y+10;b++){
if(cd[a][b]==1) //픽셀이 채워지지 않을 경우 채우고, 답++
continue;
cd[a][b]=1;
ans++;
}
}
}
cout<<ans<<"\n";
return 0;
}
//https://www.acmicpc.net/problem/2563
화면의 픽셀을 생각하면 편할 것 같습니다.
100X100 모니터가 있다면 색종이를 얹는 부분에 픽셀을 채워주는 방식입니다.
cd에서 픽셀이 채워져 있다면 1, 채워져 있지 않다면 0으로 표시합니다.
픽셀 하나하나의 넓이는 "1*1=1"으로 1입니다.
만약 픽셀이 채워져 있다면 아무일도 일어나지 않고, 픽셀이 채워져 있지 않다면 픽셀을 채워주고,답을 픽셀의 넓이만큼 더해주는 것입니다.
728x90
반응형