반응형 알고리즘222 [알고리즘] c++, cpp 플로이드 와샬 모드 정점에서 모든 정점까지 최단 거리를 구한다. 복잡도 O(n^3) 포인트 1. 다익에스트라는 한 정점, 플로이드는 모든 정점에서 #include #include using namespace std; #define INF 987654321 #define ARR_SIZE 100 + 1 int node, edge; int map[ARR_SIZE][ARR_SIZE]; int start, arrive, weight; void floyd_warshall() { for (int i = 1; i > edge; for (int i = 1; i start >> arrive >> weight; if (map[start][arrive] > weight) map[start][arrive] = weight; } floyd_w.. 2020. 9. 26. [알고리즘] c++, cpp 다익스트라 (한 정점에서 최단 거리) 포인트 1. 한 정점에서 최단 거리를 구하는 알고리즘 2. 음수의 경우는 사용을 할 수 없다. 3. 우선 순위 큐에서 min heap 을 구현을 하여 사용한다. #include #include #include using namespace std; int n, m; int s, e, c; int start, arrive; int dist[1001]; vector map[1001]; int main() { cin >> n >> m; for (int i = 0; i > s >> e >> c; map[s].push_back({c, e}); // 도시 간 연결 정보 } cin >> start >> arrive; for (int i = 1; i cost + ncost) // 다른 도시.. 2020. 9. 26. [알고리즘] c++, cpp 소수 찾기 포인트 1. 에라토네스 체, 소수 판별하는 방법 2. 조합을 구하는 방법 #include #include #include using namespace std; bool isPrime(int n) { if (n < 2) return false; for (int i = 2; i*i 2020. 9. 26. [알고리즘] c++ cpp H-Index 포인트 1. 시테이션을 구하는 방법 2. 정렬 사용후 사이즈 비교를 하여 H-Index 를 결정해준다, #include #include #include using namespace std; int solution(vector citations) { int answer = 0; sort(citations.begin(), citations.end()); //정렬 for (int i = 0; i < citations.size(); i++) { if (citations.size() - i 2020. 9. 26. 이전 1 ··· 48 49 50 51 52 53 54 ··· 56 다음 반응형