알고리즘/BFS 문제풀이 썸네일형 리스트형 [B3055] - 탈출 https://www.acmicpc.net/problem/3055물을 먼저 시간에 따라 이동시킨 후 고슴도치가가 그 시간내에 목적지에 도달할 수 있는지 확인하는 BFS문제이다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283#include#includeusing namespace std;char a[51][51];int d[51][51];int d2[51][51];int dx[] = { 0,0,-1,1 };int dy[] = { -1,1,0,0 };int main() { i.. 더보기 [B7562] - 나이트의 이동 https://www.acmicpc.net/problem/7562나이트는 가로로 2칸 세로로 1칸 혹은 가로로 1칸 세로로 2칸씩 이동합니다그에 따라 dx[], dy[]를 설정할 때 실수가 없으면 간단하게 풀 수 있는 BFS문제입니다 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include #include using namespace std;int dx[] = { 1,1,-1,-1,2,2,-2,-2 };int dy[] = { 2,-2,2,-2,1,-1,1,-1 };struct pos { int x; int y;};int main(){ int t; cin >> t; for (int zs = 1; zs.. 더보기 [B5014] - 스타트링크 https://www.acmicpc.net/problem/5014 이번에 풀 문제는 스타트링크입니다. 층 수가 있고 현재 위치에서 갈 수 있는 곳을 한 번씩 방문하며 갈 때마다 걸린시간을 dist배열에 저장합니다. 1234567891011121314151617181920212223242526272829303132333435363738394041#include #include using namespace std;int dist[1000001] = { 0, };int main(){ int f, s, g, u, d; int upcnt = 0; int downcnt = 0; int ans = 0; queueq; cin >> f >> s >> g >> u >> d;//f층 건물// 목적지 g //현재위치 s //.. 더보기 [S1953] - [모의 SW 역량테스트] 탈주범검거 삼성모의테스트 탈주범검거입니다.https://www.swexpertacademy.com/main/learn/course/lectureProblemViewer.do 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128#include #include using namespa.. 더보기 [S1249] - 보급로 SW Expert Academy의 1249번 문제 보급로입니다. BFS를 진행하며 최소값을 각각의 배열에 저장하여 마지막 답을 출력하면 됩니다.https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD&categoryId=AV15QRX6APsCFAYD&categoryType=CODE 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include #include using namespace std;#define inf 100000;int n;int a[101][101] = .. 더보기 [B14442]-벽 부수고 이동하기2 이번에는 벽 부수고 이동하기1에 이어 벽 부수고 이동하기 2입니다.부술 수 있는 벽의 개수가 입력으로 주어지는 것이 차이점입니다.https://www.acmicpc.net/problem/14442123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#include #include using namespace std;int a[1001][1001] = { 0, };int d[1001][1001][11] = { 0, };int dx[] = { 0,0,-1,1 };int dy[] = { 1,-1,0,0 };int main(){ int n, m,k; int ans=10000000.. 더보기 [B2206]-벽 부수고 이동하기 이번에 풀 문제는https://www.acmicpc.net/problem/2206 입니다.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061#include #include using namespace std; int main(){ int n, m; scanf("%d %d", &n, &m); int a[1001][1001]; int d[1001][1001][2] = { 0, }; int dx[] = { 0,0,-1,1 }; int dy[] = { -1,1,0,0 }; int ans = 0; queueq; for (int i = 0; i 더보기 이전 1 다음