본문 바로가기

전체 글

(168)
다차원배열 브루트포스 백준 17472 다리 만들기 2 // case 1: 이차원 배열 // 일반적인 순회 for(int r = 0; r < R; ++r) for(int c = 0; c < C; ++c) map[r][c] // 브루트포스 bf(int r, int c, int s){ if(s == SMAX){ return; } for(; r < R; ++r){ for(; c < C; ++c) S[s] = map[r][c]; bf(r, c + 1, s + 1); c = 0; } } // case 2: 인접행렬(undirected) // 일반적인 순회 for(int r = 0; r < R; ++r) for(int c = r + 1; c < C; ++c) map[r][c] // 브루트포스 bf(int r, int c, int s){ ..
백준 17472 다리 만들기 2 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net /* 1. 빈칸과 이웃한 경우 뿐만 아니라 경계에 해당하는 경우에도 boundary에 해당함 */ /* 2. 행과 열의 상한 다름 -> N M */ /* 3. 탈출조건은 b < bound[island_ctr]이 아니라 b < bound_ctr[i] */ /* 4. 가장 최근에 계산한 다리 길이가 아니라 가장 짧은 다리 길이로 갱신 */ /* 5. dfs로 네트워크형 그래프 연결여부 파악하려면 전역변수로 visited_vertices 선언하여 ..
백준 14497 주난의 난 14497번: 주난의 난(難) 주난이는 크게 화가 났다. 책상 서랍 안에 몰래 먹으려고 숨겨둔 초코바가 사라졌기 때문이다. 주난이는 미쳐 날뛰기 시작했다. 사실, 진짜로 뛰기 시작했다. ‘쿵... 쿵...’ 주난이는 점프의 파동으로 주변의 모든 친구들을 쓰러뜨리고(?) 누군가 훔쳐간 초코바를 찾으려고 한다. 주난이는 N*M크기의 학교 교실 어딘가에서 뛰기 시작했다. 주난이의 파동은 상하좌우 4방향으로 친구들을 쓰러뜨릴(?) 때 까지 계속해서 퍼져나간다. 다르게 표현해서, 한 번의 점프 www.acmicpc.net #include #include #include using namespace std; int N, M, X1, Y1, X2, Y2; string map[300]; queue q; bool vst..
정책 잘 세우기 백준 14497 주난의 난(難) '방문되지 않은 !0'을 탐색하여 '방문되지 않은 1'이 나오면 0으로 바꾸고 다시 탐색
인접성 파악 백준 16988 Baaaaaaaaaduk2 (Easy) 백준 14497 주난의 난(難)
백준 15812 침략자 진아 15812번: 침략자 진아 2차원 공간의 세로의 크기와 가로의 크기를 의미하는 두 정수 N, M(2 ≤ N, M ≤ 20)이 주어진다. 예제 입력과 같이 마을의 지도가 주어진다. 0은 빈 공간을, 1은 마을이 있는 공간을 의미한다. www.acmicpc.net #include #include using namespace std; int N, M; char map[20][21]; int house[398][2], space[399][2]; int housen, spacen; int ans = 400; int main() { scanf("%d%d", &N, &M); for (int r = 0; r < N; ++r) { scanf("%s", map[r]); for (int c = 0; c < M; ++c) {..
절댓값 거리 측정 백준 15686 치킨 배달 백준 15812 침략자 진아 백준 17135 캐슬 디펜스
매개 자료구조 사용하지 말 것(worst case 따져보기) 백준 17143 낚시왕 바다 너비(100) * 바다 넓이(10000) = 1000000 충분히 시간 안에 가능 바다 너비(100) * 상어 개수 다차원 브루트 포스