목록알고리즘/그래프 (57)
코딩공작소
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수 www.acmicpc.net 은근히 배울게 많은 문제... 뭔가 이번에 이것때문에 틀린거같은데 . .? 각 단지,섬(인접한 것들)마다 번호붙이고 그것의 개수도 세는 ... dfs로가면서 몇번가..
보호되어 있는 글입니다.
https://www.acmicpc.net/problem/17141 17141번: 연구소 2 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 승원이는 연구소의 특정 위치에 바이러스 M개를 놓을 것이고, 승원이의 신호와 동시에 바이러스는 퍼지게 된다. 연구소는 크기가 N×N인 정사각형으로 나타낼 수 있으며, 정사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 빈 칸은 바이러스를 놓을 수 있는 칸이다. 바이러스는 상하좌우로 www.acmicpc.net 연구소 시리즈 문제.. 조합으로 바이러스를 선택하면 된다. 그리고 bfs를 해줌. 전부 탐색이 됐는지 안됐는지 따지기 위해 탐색이 될..
보호되어 있는 글입니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 #include #include #include using namespace std; struct INFO { int r; int c; }; int map[20][20]; int isV[20][20]; int dr[] = { 1,-1,0,0 }, dc[] = { 0,0,-1,1 }; queue q; void bfs(int r,int c,int step) { q.push({ r,c }); isV[r][c] = 1; int cnt = 0;..
보호되어 있는 글입니다.
https://www.acmicpc.net/status?user_id=xogns09&problem_id=2636&from_mine=1 채점 현황 채점 번호아이디문제 번호결과메모리시간언어코드 길이제출한 시간14745852xogns092636맞았습니다!!20360C++14135316초 전 채점 준비 중: 1개, 채점 중: 2개, 채점 서버: 12개, 평균 채점 시간: 6.53초 www.acmicpc.net 치즈1과 약간의 조건만 다르다. 3변이상이라는 조건이 없이 그냥 진행해주면 된다. 그리고 마지막 단계에서의 남아 있는 치즈 조각을 세어 주면 된다. 전체적인 아이디어는 똑같다. 코드는 치즈1 참조 (바뀐부분) bool melt() { bool flag = false; int cnt = 0; for (int..
https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5≤N, M≤100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 표시된다. 또한, 각 0과 1은 하나의 공백으로 분리되어 있다. www.acmicpc.net 종종 외곽을 처리해야 했던 유형에서 볼 수 있던 문제다.. 처음에는 dfs로 조건을 걸어서 외곽을 저장하고 그걸로 녹이고 다시 외곽을 저장하는 식으로 생각을 했었는데 까다로울 것 같았다... 이 문제의 핵심은 외곽만을 없앤다 즉, 내부 공기까지 탐색을 하지 않는다 가 핵심이다. 1 2 3 4 5 6 7 8 9 10 11 12 1..
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. www.acmicpc.net 완전탐색dfs + bfs . 조합으로 하면 실행시간이 2~4배로 빨라 진다. 벽을 포함해서 계속 틀리게 나왔었음.... 문제를 잘 읽자 ...
보호되어 있는 글입니다.