[백준/C++] 2589번: 보물섬
이문제는 딱히 까다롭지 않고 모든 시작점에 대해서 bfs를 진행해서 모든 depth를 담고 max value를 print했다. 끝~ #include #include #include #include #include #include using namespace std; int N, M; string map[51]; int visit[51][51] = { 0 }; int temp[51][51] = { 0 }; vector findMax; int dx[] = { 1,0,0,-1 }; int dy[] = { 0,1,-1,0 }; void bfs(int x, int y) { int out; queue q; q.push(make_pair(make_pair(x, y), 0)); while (!q.empty()) { i..
[백준/C++] 7579번: 토마토
토마토가 모두 익는 최단시간을 계산하는 문제이다. 최소비용 문제이고, 간선의 가중치가 1이고 정점과 간선의 개수가 적으면 BFS로 푸는 문제라고 한다... input 순서를 바꾸면 틀리는데 이유를 모르겠다.... (반례모음) www.acmicpc.net/board/view/43699 #include #include using namespace std; int ans; int M, N, H; int map[101][101][101]; int noToma; queue q; int dx[] = { 1, 0, 0, -1, 0, 0, }; int dy[] = { 0, 1, 0, 0, -1, 0, }; int dz[] = { 0, 0, 1, 0, 0, -1 }; bool allRipe(void) { for (int..