일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- BOJ 2098
- 영어회화 100일의 기적
- 외판원 순회
- 그리디 알고리즘
- 평창동계올림픽
- Segment Tree
- 비트마스크
- 백트레킹
- 다음 지도 api
- 삼성 코딩테스트
- 성화봉송
- lower_bound
- MST
- 안드로이드 스튜디오
- 성화봉송주자
- upper_bound
- 위상정렬
- 창훈쓰다
- 언어의 온도
- 다이나믹 프로그래밍
- 이분탐색
- boj
- DP
- 생활코딩
- multiset
- 캘리그라피
- 다음 API
- yolo
- 인간이 그리는 무늬
- BFS
- Today
- Total
목록BFS (4)
Hoon222y
https://www.acmicpc.net/problem/1939 주어진 도로의 중량제한을 넘어서지 않는 배달가능한 최대물품중량을 계산하는문제이다.BFS와 이분탐색을 이용해서 문제를 해결하면 된다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374#include #include #include #include #include #include #include #include #include #include #define INF 1e9typedef long long ll;using namespace std; i..
https://www.acmicpc.net/problem/13700 그냥 bfs문제이다 하지만 주의해야 할 점은 next+f 0 이어야 한다는 점이다 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include #include #include #include #include #include #include #include #include #define INF 1e9typedef unsigned long long ull; using namespace std; int n,s,d,f,b,k,arr[111111];bool visit[111111]; void s..
문제를 풀다보면 https://www.acmicpc.net/problem/7576 처럼 BFS의 횟수를 카운트 해야하는 경우가 생기게 된다.이때 대략적으로 쓸수있는 코드를 정리하자면 1234567891011121314151617181920#include using namespace std; void bfs() { queue qu; qu.push(1); int cnt=0; while (!qu.empty()) { int c = qu.size(); cnt++; //BFS의 반복횟수 count while (c--) { int here = qu.front(); qu.pop(); //각 회차별 작업을 여기서 해준다. } }}Colored by Color Scriptercs 이런식으로 그 회차별 queue의 size..
보통 dfs나 bfs를 하면 2차원 배열상에서 이동하는 경우가 생기는데 그때마다 같은 코드를 반복하지 않고 for문으로 해결할 수 있다.12345678910111213141516171819202122232425262728293031#include #include using namespace std;//4방향 탐색int dx[4] = {0,0,1,-1};int dy[4] = {1,-1,0,0};int arr[100][100];int N,M;queue q; //범위를 벗어나는지 확인해주는 chkbool chk(int a,int b){ return 0