[백준 15685] 드래곤 커브 (삼성 기출)
Algorithm 카테고리의 다른 글
문제
백준 삼성 SW 역량테스트 기출 문제
코드 GitHub
/****** BAEKJOON 15685 *****/
/***** SAMSUNG SW TEST *****/
/** Solved Date 2021-04-16 */
#include <iostream>
#include <vector>
using namespace std;
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, -1, 0, 1};
int main() {
int N;
cin >> N;
bool map[101][101] = {false, };
for(int i = 0; i < N; i++) {
int x, y, d, g;
cin >> x >> y >> d >> g;
vector<int> path;
path.push_back(d);
map[x][y] = true;
for(int j = 0; j < g; j++) {
int clen = path.size();
for(int k = 0; k < clen; k++) {
path.push_back((path[clen - 1 - k] + 1) % 4);
}
}
int n = path.size();
for(int j = 0; j < n; j++) {
int dir = path[j];
x += dx[dir];
y += dy[dir];
map[x][y] = true;
}
}
// Find Rect
int cnt = 0;
for(int i = 0; i < 100; i++) {
for(int j = 0; j < 100; j++) {
if(map[i][j] && map[i][j+1] && map[i+1][j] && map[i+1][j+1]) {
cnt++;
}
}
}
cout << cnt;
}
피드백
- vector
#include <vector> vector<int> v; v.push_back(1); v.size();
-
좌표 평면의 방향 체크하기
- 문제 잘 읽기
드래곤 커브로 둘러싸인 사각형 X 모든 꼭지점이 드래곤 커브에 포함된 사각형 O
- 귀찮아도 적으면서(그리면서) 할 것
댓글남기기