전공/Problem Solving 75

[알고리즘/문제풀이] 11657번 타임머신

https://www.acmicpc.net/problem/11657 11657번 타임머신 문제의 핵심은 벨만-포드 알고리즘입니다. 벨만-포드 알고리즘에 대한 설명은 다음의 게시물에 있습니다. 2022.01.02 - [알고리즘/이론] - [알고리즘/이론] 벨만-포드 알고리즘 [알고리즘/이론] 벨만-포드 알고리즘 벨만-포드 알고리즘 벨만-포드 알고리즘은 가중치를 가지는 방향그래프의 최단거리를 구하는 데 사용되는 알고리즘입니다. 특징으로 음의 가중치를 가지는 경우에도 사용할 수 있습니다. 또한 ark-hive.tistory.com 해당 문제는 벨만 포드 알고리즘을 그대로 적용하여 해결할 수 있습니다. 주의사항 실제 구현에서 정점까지의 경로가 존재하지 않을 때의 무한대 값을 실제 숫자로 치환하여 구현하기 때문에..

[알고리즘/문제풀이][BOJ 5543번] 상근날드

상근날드 문제는 반복문을 이용한 단순 연산 문제입니다. 작성한 코드는 다음과 같습니다. #include #pragma warning(disable : 4996) int bugger[3]; int drink[2]; int min = 0x0fffffff; int main(void) { scanf("%d %d %d", &bugger[0], &bugger[1], &bugger[2]); scanf("%d %d", &drink[0], &drink[1]); for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { if (bugger[i] + drink[j] - 50 < min) { min = bugger[i] + drink[j] - 50; } } } printf("%..

[알고리즘/문제풀이] 피보나치 수 2

피보나치 수 2는 다이나믹 프로그래밍으로 해결할 수 있는 문제입니다. 피보나치 수를 구하기 위해 피보나치 수를 보관할 배열을 선언한 후 반복적인 연산을 통해 피보나치 배열을 업데이트시켜 최종적으로 원하는 피보나치 수를 구하도록 하여야 합니다. 작성한 코드는 다음과 같습니다. #include #pragma warning(disable : 4996) long long int fibo[120]; int N; int main(void) { fibo[0] = 0; fibo[1] = 1; scanf("%d", &N); if (N == 0) printf("%d\n", fibo[0]); else if (N == 1)printf("%d\n", fibo[1]); else { for (int i = 0; i < N-1; i..