DFS 2

[BOJ] 16946번: 벽 부수고 이동하기 4

문제 내용 https://www.acmicpc.net/problem/16946 16946번: 벽 부수고 이동하기 4 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 한 칸에서 다른 칸으로 이동하려면, 두 칸이 인접해야 한다. 두 칸이 www.acmicpc.net 풀이 시간 45분 풀이 과정 문제에 써있는 방식 그대로 각 벽마다 BFS를 실행하였다. -> 시간초과 역으로 생각해서 빈곳들의 크기를 구하고 빈곳의 값을 개수로 넣어줬다. 이후 각 벽마다 사방의 빈곳의 개수의 합+1을 넣었다.-> 오답 => 벽 주위의 빈곳들이 서로 연결되어 있는 경우를 고려하지 못했다. Map을 사용해서 각 빈 그룹별 개수를 넣었다. 이후 빈곳의 ..

[백준] 3182번 한동이는 공부가 하기 싫어!

문제 내용 https://www.acmicpc.net/problem/3182 3182번: 한동이는 공부가 하기 싫어! H-ALGO 회원인 한동이는 공부하는것을 좋아하지 않는다. 하지만 약삭빠르게도 한동이는 공부도 하지 않으면서 어려운 시험을 통과하고 싶어한다. 그러던 와중 어느 날, 한동이의 동기가 한동이에 www.acmicpc.net 해결 코드 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 #include #include #define MAX_N 1001 using namespace std; int n; boo..