728x90
반응형
https://www.acmicpc.net/problem/2563
1. Logic
도화지의 사이즈가 최대 100*100이라고 했기 때문에 최악의 경우의 완탐을 돌아도 10000에 입력받는거까지 넉넉잡아도 1초안에는 무조건 계산이 가능하다.
처음 문제를 읽고 색종이의 갯수 n * 100에 중복 구간을 어떻게 빼줄까를 고민하다가 굳이 어렵게 생각해서 값을 빼주지 말고 그냥 한번만 세주면 되겠다는 생각을 했다.
입력 받은 좌표값에 +10까지 방문 처리를 해주고 갯수를 세어주면 된다.
2. Code
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> vec;
bool vis[100][100];
int main()
{
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int t;
cin >> t;
int cnt = 0;
while(t--) {
int x, y;
cin >> x >> y;
for(int i = y; i < y+10; i++) {
for(int j = x; j < x+10; j++) {
vis[i][j] = true;
}
}
}
for(int i = 0; i < 100; i++) {
for(int j = 0; j < 100; j++) {
if(vis[i][j]) cnt++;
}
}
cout << cnt;
return 0;
}
알고리즘 Solve 후 제가 생각한 Logic을 기록하는 개인 공부 블로그입니다.
내용 중 최적화가 가능한 부분등은 언제든지 댓글로 틀린 부분 및 피드백 주시면 공부 및 반영하겠습니다🧐
728x90
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
[백준/Baekjoon] 1138 한 줄로 서기 C++ :: Implementation & Greedy (0) | 2023.11.09 |
---|---|
[백준/Baekjoon] 14891 톱니바퀴 C++ :: Implementation (0) | 2023.11.08 |
[백준/Baekjoon] 2012 등수 매기기 C++ :: Greedy (0) | 2023.11.07 |
[백준/Baekjoon] 1992 쿼드트리 C++ :: Divide and conquer (1) | 2023.11.04 |
[백준/Baekjoon] 1780 종이의 개수 C++ :: Divide and conquer (0) | 2023.11.04 |