블러드필
알고리즘23 :: 블러드 필 알고리즘 전형적인 예제
알고리즘23 :: 블러드 필 알고리즘 전형적인 예제
2019.02.28#include using namespace std; #define X first #define Y second // pair에서 first, second를 줄여서 쓰기 위해서 사용 int board[502][502] = {{1,1,1,0,1,0,0,0,0,0}, {1,0,0,0,1,0,0,0,0,0}, {1,1,1,0,1,0,0,0,0,0}, {1,1,0,0,1,0,0,0,0,0}, {0,1,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0} }; // 1이 파란 칸, 0이 빨간 칸에 대응 bool vis[502][502]; // 해당 칸을 방문했는지 여부를 저장 int n = 7, m = 10; // n = 행의 수, m = 열의 수 int..
알고리즘22 :: 플러드 필&BOJ_2677_단지번호붙이기
알고리즘22 :: 플러드 필&BOJ_2677_단지번호붙이기
2019.02.28어떤 위치와 연결된 모든 위치를 찾는 알고리즘이다. BOJ :: 2667 단지 번호 붙이기 문제가 대표적이다. 연결요소 를 고려해보면 된다. 단지의 개수와 크기를 구하면 된다. 이차원 배열 상에서 상, 하, 좌, 우 를 고려한 배열이기 때문에 추가적인 자료구조가 필요하지 않다. BOJ_2677_단지번호붙이기가 대표적인 예이다. 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 55 56 57 #include #include #include using namespace std; int ..