코딩문제 풀이 12

백준 14502번 연구소

14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. www.acmicpc.net 구조는 간단하지만 상당히 까다로웠던 문제. 문제는 크게 두 부분으로 나뉜다. 1. 연구소의 벽 세우기 2. 바이러스 퍼뜨리기 처음에 문제를 접했을 때 완전탐색(브루트포스)를 숙지하지 않았기 때문에 벽을 어떻..

코딩문제 풀이 2020.01.14

백준 14890번 경사로

https://www.acmicpc.net/problem/14890 반복문의 iterator 조작이 까다로운 문제. 평지는 생략하고 높이가 바뀌는 블록을 기준으로 오르막길과 내리막길 각각의 조건이 맞는지 잘 따져야 한다. #include #include #include using namespace std; int map[101][101]; bool visited[101]; int N, L, path; void checkRow(int x) { int cur = map[x][0]; //visited[0] = true; int depth = -1; for (int i = 0; i < N; i++) { if (cur != map[x][i]) { //visited[i] = true; if (abs(cur - ma..

코딩문제 풀이 2020.01.08