알고리즘/백준 GO_IN 2021. 5. 30. 20:49
이번 문제도 플로이드-와샬 알고리즘을 이용해서 푸는 문제입니다. 처음 플로이드-와샬 알고리즘에 대해 공부해봐서 적응을 하기 위해서 이어서 풀어보고 있습니다. 문제 링크 및 분석 [백준 / 1389번] 케빈 베이컨의 6단계 법칙 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net 위에서 이야기했듯이 플로이드-와샬 알고리즘을 이용해야 합니다. 플로이드-와샬을 통해 배열을 만들어준 뒤, 행별로 숫자들을 다 더하여 최솟값을 구하면 됩니다. 아래에서 코드를 보면 더 쉽게 이..
더 읽기
머신러닝 및 딥러닝/Pytorch GO_IN 2021. 5. 28. 15:35
지난번에 SGD 옵티마이저를 사용하여 MNIST 데이터 셋을 학습시키는 과정에 대해 살펴보았습니다. 이번에는 SGD를 포함해서 Adagrad, RMSprop, Adam 옵티마이저를 사용하여 MNIST 데이터 셋 학습을 진행해보려고 합니다. 코드 중간중간에 주석이 있기는 하지만 지난번 포스팅과 차이가 있는 부분만 설명드리려고 하니 조금 더 자세한 내용이 궁금하시다면 화면 하단의 SGD로 MNIST 데이터 셋 학습 링크를 참고해주시기 바랍니다. 또한 화면 하단 github 주소에 전체 코드를 올려두겠습니다. 1. 모듈 및 라이브러리 import import torch.nn as nn import torch import matplotlib.pyplot as plt import numpy as np from t..
알고리즘/백준 GO_IN 2021. 5. 27. 23:42
문제 링크 및 문제 설명 [백준] 11403번 경로 찾기 지난번에 플로이드라는 문제를 통해서 플로이드-와샬 알고리즘을 공부해보았습니다. 이번 문제도 마찬가지로 플로이드-와샬 알고리즘을 사용하는 문제인데요. 단, 지난번 문제와 다르게 i행과 j행이 같은 경우도 따져주어야 합니다. 플로이드 문제가 궁금하신 분은 포스팅 하단 링크를 참고해주시기 바랍니다. 문제 소스 코드 #include using namespace std; int graph[102][102]; int n; void floyd() { for (int k = 1; k
알고리즘/백준 GO_IN 2021. 5. 26. 23:49
백준 11404번 문제 링크 및 접근 방법 플로이드 문제 링크 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 백준 사이트 11404번 문제인 플로이드 문제입니다. 플로이드-와샬 알고리즘을 이용해서 풀 수 있습니다. 플로이드-와샬 알고리즘(Floyd Warshall) 간단하게 플로이드-와샬 알고리즘에 대해 설명하겠습니다. a 지점에서 c 지점으로 갈 때 한 지점을 거쳐서 더 빠르게 갈 수 있다면 그 최단거리를 구하는 알고리즘입니다. 예를 들어서 a->c로 바로 가는 것보다 a->b->c가 빠르다면 a->b->c..