반응형

Pair 2

[ C++ ] #7576 토마토

골드단계의 문제를 스스로 풀어보는건 처음이라! 꼭 스스로 풀겠다는 다짐을 하며 문제를 보았다. 음..1부터 시작해서 그냥 0인거 BFS하면 되겠다 싶었는데 요일를 세야하니까 한 타임에 몇개가 큐에 들어왔는지 세서 그 큐가 다 소진될때마다 하루씩 늘려야겠다고 생각했다. 풀 수 있을거같은데 시간초과가 날거같은...느낌? 일단 GO 다른 방법이 생각났다. 며칠째에 내가 익었는지 내 칸에 적어놓는다면 내 다음칸은 내 칸을 보고 +1을 하면 된다!! 다이나믹한 방법이다. 야호~! 맞았따~!~! 혼자힘으로 했다는게 너무 뿌듯하다~!~! #include #include #include using namespace std; int dx[4] = {0,1,0,-1}; int dy[4] = { 1,0,-1,0 }; que..

BOJ/[ BOJ ] C++ 2023.01.23

[ 알고리즘 ] BFS

1. 알고리즘 설명 다차원 배열에서 각 칸을 방문할 때 너비를 우선으로 방문하는 알고리즘 시작하는 칸을 큐에 넣고 방문했다는 표시를 남김 큐에서 맨 앞의 원소를 꺼내어 그 칸에 상하좌우로 인접한 칸에 대해 3번을 진행 해당칸을 이전에 방문했다면 아무것도 하지 않고, 처음으로 방문했다면 방문했다는 표시를 남기고 해당 칸을 큐에 삽입 큐가 빌 때까지 2번을 반복 시간복잡도는 모든 칸이 큐에 한번씩 들어가므로 칸이 N개일 때 O(N)이된다. 2. 코드 BFS는 코딩테스트에서 굉장히 중요한 부분이므로 꼭 잘 숙지해야함! #include using namespace std; #define X first #define Y second // pair에서 first, second를 줄여서 쓰기 위해서 사용 int bo..

공부/알고리즘 2023.01.05
반응형