250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- C++ 공부하기
- 코딩
- 로이커바트 숙소
- 대학생
- 1654
- openai api
- 24524
- 융프라우 스위스 패스
- C++ 공부
- 오리스프
- 로이커바트
- 그린델발트 캠핑장
- 피르스트 자전거
- 알고리즘
- 백준
- C++
- 그린델발트 자전거
- 군대코딩
- 백준으로 C++ 공부
- auto code review
- 프랑스 남부 섬
- 백준으로 c++ 공부하기
- 군인
- Replit
- iles dHyeres
- 군대
- 16236 c++
- 백준 C++
- porquerolles
- 시뮬레이션
Archives
- Today
- Total
기억보다는 기록을 해볼까
백준으로 C++ 공부 24일차 (2667, 6064, 7569, 11286, 11403, 16928) 본문
728x90
정확히 24일차는 아니지만 블로그 쓰는 횟수가 24번쨰이므로 그렇다고 치자
최근 싸지방을 잘 이용하지 못해 자주 못옴 ㅠㅠ
오늘 공부한 백준 (2667, 6064, 7569, 11286, 11403, 16928)
이제 BFS에 꽤나 익숙해졌다. 혼자서 구현할 수 있는 정도
내일부터는 골드 5문제들을 풀게 될 것이다. (아직 실버 몇개 안 푼게 있지만)
큐의 갯수를 세야 할 때 자주 썼다.
typedef pair<int, int> pii;
queue<pii> q;
문제의 input이 이런 식으로 가로로 빈칸 없이 나올 때
10101101
00110101
00011010
11010110
아래와 같이 string으로 받은 다음에 int형으로 다시받는 방법을 쓴다.
아니면 그냥 string으로 받아서 string으로 계속 풀수도 있다.
for (int i = 0; i < N; i++) {
string tmp;
cin >> tmp;
for (int j = 0; j < N; j++)
map[i][j] = tmp[j] - '0';
}
플로이드-와샬 알고리즘을 이용해 11403 경로찾기 풀기
void floyd(void) {
//i->j로 가는 길이 없어도
//k를 거쳐갈 수 있으면 갈 수 있다고 여긴다
for (int k = 0; k < N; k++) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (map[i][k] == 1 && map[k][j] == 1)
map[i][j] = 1;
}
}
}
}
i 에서 j 로 이동하는데 거리가 k를 거쳐서 가는게 더 빠른 경우를 이용한다.
아직 혼자서 풀 때 이용하지는 못할 듯
728x90
'백준으로 C++ 공부하기' 카테고리의 다른 글
DSLR 9019 (백준으로 C++공부하기 26일차) (0) | 2021.12.07 |
---|---|
백준으로 C++ 공부 25일차 (5430) (0) | 2021.12.06 |
C++ 23일차 (1697, 1992, 2178) (0) | 2021.11.24 |
C++ 공부 22일차 (18870, 1260) (0) | 2021.11.21 |
C++ 공부 21일차 (11047, 11279, 11724) (0) | 2021.11.20 |
Comments