백준 2468 안전 영역
#include #include #include #include using namespace std; int N; // 테케, 가로, 세로, 배추 심어진 갯수int arr[110][110];bool visit[110][110] = { false, };int dx[4] = { 0, 1, 0, -1 }; int dy[4] = { 1, 0, -1, 0 };queue queueX, queueY; void bfs(int x, int y){queueX.push(x); queueY.push(y);visit[x][y] = true; //queue가 비어있지 않을 경우 반복while (!queueX.empty() && !queueY.empty()){int tempX = queueX.front(), tempY = queu..
2018. 4. 14.
백준 1012 유기농 배추
#include #include using namespace std;#define START_NUM 10 int T, M, N, K; // 테케, 가로, 세로, 배추 심어진 갯수int arr[55][55];int kArr[2550][2];int dx[4] = { 0, 1, 0, -1 }; int dy[4] = { 1, 0, -1, 0 }; void dfs(int x, int y, int num){arr[x][y] = num; for (int dir = 0; dir = 0 || nextY >= 0 || nextX < M || nextY < N){if (a..
2018. 4. 14.
백준 5427 불
/*상근이 동서남북 이동 가능, 빈 공간으로만 갈 수 있고 불이 붙어있거나 붙으려는 칸으로 이동 불가, 상근이가 있는 칸에 불이 옮겨옴과 동시에 다른 칸으로 이동할 수 있다.BFS*/#include #include using namespace std;#define MAX 1010 int T, W, H, fireCnt, humanCnt, timeCnt = 0, fire_start = 0, fire_end = 0, human_start = 0, human_end = 0, ans = 2e9, check = 1;char arr[MAX][MAX];int fire_pos[MAX*MAX][2], human_pos[MAX*MAX][2];int dx[4] = { 0, 1, 0, -1 };int dy[4] = { 1, 0..
2018. 4. 14.
백준 2146 다리만들기
#include #include #include using namespace std;int N, island_num=1, border_cnt, ans=100000;int arr[110][110];bool visit[110][110];int dx[4] = { 0, 1, 0, -1 }; int dy[4] = { 1, 0, -1, 0 };queue queuex, queuey; void init();void dfs(int x, int y, int num);void border_bfs(int x, int y, int num); int main(){scanf(" %d", &N); for (int i = 0; i < N; i++){for (int j = 0; j < N; j++){scanf(" %d", &arr[i]..
2018. 4. 14.