BFS(3)
-
[백준]17071_숨바꼭질5
https://www.acmicpc.net/problem/17071 풀이- 수빈이가 도착하는 시간을 홀/짝으로 구분하여 기록 - 동생이 수빈이가 방문한 곳에 방문하면 그 시간을 반환 - 짝/홀 나누는 이유: 동시에 같은 위치에서 만나는지 확인하기 위함방문체크를 홀짝초 구분하지 않고하면, 답을 구하지 못함짝수초에 도착해서 홀수초에 도착을 못하게 하는 상황때문 그 지점에 도착한 시간에 따라 동생이랑 겹치는지를 정확히 알수있음package BJ;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.LinkedList;import j..
2024.11.02 -
[백준]18809_Gaaaaaaaaaarden(java)
https://www.acmicpc.net/problem/18809 문제 설명빨간색 배양액과 초록색 배양액 두개를 정해진 개수를 모두 땅에 뿌렸을 때(노란색땅에만 뿌리기 가능)두 배양액은 계속 퍼진다. 퍼지다가 동시에 서로 다른 배양액이 어떤 위치에서 만나면 꽃이 피고, 꽃은 퍼지지않음.필 수 있는 꽃의 최대 개수를 구하자.입력값 호수 : 0땅 : 1배양액 뿌릴 수 있는 땅 : 2풀이1. 모든 배양액을 뿌릴 수 있는 모든 경우를 고려한다.(DFS)2. 뿌려진 배양액 정보를 가지고 꽃이 몇개 피우는지 시뮬레이션한다.(BFS)BFS에서 빨간액은 4 초록액은 3으로 값을 설정하고 이동하다가 같은 시간대에 7(3+4)이 되면 꽃의 개수를 증가시킨다.큐에서 뽑은 값이 꽃이 된거라면 그 경우 제외한다.전체코드pac..
2024.10.30 -
Softeer_LV3_나무섭지
문제 링크 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 문제 요약그림에서 사람은 남우라는 주인공입니다.남우는 탈출구로 탈출해야하고, 유령과 만나면 안됩니다.남우는 벽으로는 이동할 수 없어요.유령은 벽도 이동 가능합니다.그리고 현재자리에 머무를 수 있고 상하좌우로도 이동가능합니다.풀이이번 문제는 시간복잡도를 딱히 신경안써도 되는 문제였고, 방문처리에서 실수하면 메모리 초과를 발생할 수 있다고 생각했다.n,m은 최대 1000, bfs를 5방향으로 해서 O(n*m*5) == 5백만 시간복잡도로 풀이 가능 그리고, 방문처리할 때 얼만큼 메모리를 사용하는지 확인해봤습니다.v[1000][1000][5]가 최대일때, boolean타입은 1비트인데 배열은 1바이트라고합니다.그래서 1바이트 *5..
2024.09.09