본문 바로가기

PS78

[백준]5014. 스타트링크(c++) https://www.acmicpc.net/problem/5014나는 바보다두 가지를 모두 처리해야하는데if else if문으로 분기 처리했다나는 바보인게 확실하다 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int visited[2000001] = { 0 };int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int f, s, g, u, d; queue q; cin >> f >> s >> g >> u >> d; q.push(.. 2025. 2. 26.
[백준]1012. 유기농배추(c++) https://www.acmicpc.net/problem/10122차원 배열에서 방문하지 않고 배추가 있는 좌표에서 시작하기배추가 없는 곳은 피하면 된다. #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int dx[4] = {0, 0, 1, -1};int dy[4] = {1, -1, 0, 0};int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin >> t; while (t--) { int.. 2025. 2. 24.
[백준] 1697. 숨바꼭질(c++) https://www.acmicpc.net/problem/1697범위를 넘어서는 부분을 분기처리 하지 않아서 outofbounds error가 났다.항상 가능하지 않은 부분은 어디까지 인가 생각하면서 구현하자. #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;// int dx[4] = {0, 0, -1, 1};// int dy[4] = {-1, 1, 0, 0};int dis[2000001] = {0};int visited[2000001] = {0};int main() { ios::sync_with_stdio(0); .. 2025. 2. 24.
[백준] 4179. 불!(c++) https://www.acmicpc.net/problem/4179지훈이가 빠져나갈 수 있게,, bfs를 통해서 불이 지나간 자리보다 지훈이가 더 빨리 갈 수 있는 경우만 찾는 문제였다.그럴 수 있으려면1. 불이 지나간 자리를 bfs로 구해서 칸마다의 시간을 구한다.2. 지훈이가 지나갈 자리가 불이 이미 지나쳤다면 건너뛰고 아닌 경우에만 진행해본다. #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int dx[4] = {0, 0, -1, 1};int dy[4] = {-1, 1, 0, 0};int arr[1001][1001] = .. 2025. 2. 24.
[백준] 7576. 토마토(c++) https://www.acmicpc.net/problem/7576bfs의 문제 중, 여러 곳의 시작점이 있는 문제였다.여러 곳의 시작점일 시 queue에 집어넣고 시작한다는 아이디어를 떠올리는 것이 힘들었다. #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int dx[4] = {0, 0, -1, 1};int dy[4] = {-1, 1, 0, 0};int arr[1001][1001] = {0};int visited[1001][1001] = {0};int real_visited[1001][1001] = {0};int main().. 2025. 2. 24.
[백준] 2178. 미로탐색(c++) https://www.acmicpc.net/problem/2178bfs로 상하좌우로 이동가능 할 때 q.front에 있는 좌표값에 1을 더 해주면 n,m까지 이동할 때의 최소 칸수를 구할 수 있다.버퍼 비우기와 x,y와 m,n의 매핑을 잘 보고 풀자.  #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int dx[4] = {0, 0, -1, 1};int dy[4] = {-1, 1, 0, 0};int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); i.. 2025. 2. 24.