분류 전체보기 (576) 썸네일형 리스트형 백준 1167번 [트리의 지름](C++) -yes6686- 티스토리 백준 문제 풀이: 1167 (트리의 지름)문제 링크: https://www.acmicpc.net/problem/1167문제 설명:트리의 지름이란, 트리에서 임의의 두 정점 사이의 거리 중 가장 큰 거리를 의미합니다. 주어진 트리에서 각 간선의 길이를 고려하여 트리의 지름을 계산하는 문제입니다.문제 해결 코드#include #include using namespace std;vector> v[100001]; // 인접 리스트: {비용, 연결 정점}int ans = 0; // 트리의 지름int ve = 0; // 가장 먼 정점// DFS로 트리 탐색void dfs(int x, int d, int p) { if (ans > n; /.. 백준 1788번 [피보나치 수의 확장](C++) -yes6686- 티스토리 백준 문제 풀이: 1788 [피보나치 수의 확장]문제 링크: https://www.acmicpc.net/problem/1788문제 설명:피보나치 수열은 다음과 같은 점화식으로 정의됩니다:F(0) = 0, F(1) = 1F(n) = F(n-1) + F(n-2) (n ≥ 2)F(n) = F(n+2) - F(n+1) (n 이 문제에서는 정수 n에 대해 F(n)을 구하고, 다음을 출력해야 합니다:F(n)이 양수, 음수, 또는 0인지에 따라 각각 1, -1, 또는 0F(n)을 10억(1,000,000,000)으로 나눈 나머지문제 해결 코드#include #include #define MOD 1000000000using namespace std;int dp[1000001]; // F(n)을 저장하기 위한 배열int.. 백준 24479번 [알고리즘 수업 - 깊이 우선 탐색 1](C++) -yes6686- 티스토리 백준 문제 풀이: 24479 [알고리즘 수업 - 깊이 우선 탐색 1]문제 링크: https://www.acmicpc.net/problem/24479문제 설명:양방향 그래프가 주어질 때, 주어진 시작 노드 r에서 깊이 우선 탐색(DFS)을 수행하고 각 노드가 탐색된 순서를 출력하는 문제입니다.다음 조건이 적용됩니다:DFS는 노드의 번호가 작은 순서대로 방문합니다.방문하지 않은 노드가 있을 경우, 해당 노드는 0으로 출력됩니다.문제 해결 코드#include #include #include using namespace std;vector graph[100001]; // 그래프의 인접 리스트int visited[100001]; // 방문 여부를 저장int order[100001]; //.. 백준 2293번 [동전 1](C++) -yes6686- 티스토리 백준 문제 풀이: 2293 [동전 1]문제 링크: https://www.acmicpc.net/problem/2293문제 설명:n가지 종류의 동전이 주어졌을 때, 주어진 동전들을 사용하여 가치의 합이 k원이 되는 경우의 수를 구하는 문제입니다.동전의 순서는 상관없으며, 각 동전은 무한정 사용할 수 있습니다.문제 해결 코드#include using namespace std;int coins[101]; // 동전의 가치를 저장하는 배열int dp[10001]; // 가치 합이 k원이 되는 경우의 수를 저장하는 배열int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, k; // n: 동전의 종류, k: 목표 금액 cin >>.. 백준 11057번 [오르막 수](C++) -yes6686- 티스토리 백준 문제 풀이: 11057 [오르막 수]문제 링크: https://www.acmicpc.net/problem/11057문제 설명:오르막 수는 자릿수의 숫자가 증가하는 형태를 가진 수입니다. 예를 들어, 2234나 111은 오르막 수입니다. 길이가 N인 오르막 수의 개수를 계산하는 문제입니다.다음 조건이 적용됩니다:N은 1 이상 1000 이하의 정수입니다.결과는 10007로 나눈 나머지를 출력합니다.문제 해결 코드#include #define MOD 10007using namespace std;int dp[1001][10]; // dp[length][digit]: 길이가 length이고 마지막 숫자가 digit인 오르막 수의 개수int main() { ios::sync_with_stdio(false.. 백준 2406번 [안정적인 네트워크](C++) -yes6686- 티스토리 백준 문제 풀이: 2406 [안정적인 네트워크]문제 링크: https://www.acmicpc.net/problem/2406문제 설명:주어진 컴퓨터 네트워크에서 안정적인 네트워크를 구성하기 위해 최소 비용으로 추가해야 할 연결들을 구하는 문제입니다. 초기 연결 상태가 주어지고, 각 컴퓨터 쌍의 연결 비용이 주어질 때, 추가로 연결해야 할 최소 비용과 연결 목록을 출력합니다.네트워크 안정성을 유지하기 위해 모든 컴퓨터가 하나의 네트워크로 연결되어야 합니다.문제 해결 코드#include #include #include using namespace std;int parent[1001]; // 각 노드의 부모를 저장하는 배열priority_queue>, vector>>, greater> pq;int findPa.. 백준 1904번 [01타일](C++) -yes6686- 티스토리 백준 문제 풀이: 1904 [01타일]문제 링크: https://www.acmicpc.net/problem/1904문제 설명:길이가 N인 01 타일로 이루어진 모든 가능한 이진 문자열의 개수를 구하는 문제입니다. 타일은 1×2와 2×1의 블록으로 구성되며, 다음 규칙을 따릅니다:N개의 타일은 1과 0으로 이루어진 이진 문자열로 표현됩니다.길이가 1일 때는 "1", 길이가 2일 때는 "00" 또는 "11"입니다.결과는 15746으로 나눈 나머지를 출력합니다.문제 해결 코드#include using namespace std;int dp[1000001]; // dp[i]: 길이가 i인 01 타일의 경우의 수int main() { ios::sync_with_stdio(false); cin.tie(NU.. 백준 9465번 [스티커](C++) -yes6686- 티스토리 백준 문제 풀이: 9465 [스티커]문제 링크: https://www.acmicpc.net/problem/9465문제 설명:두 줄로 구성된 스티커에서 스티커를 선택해 최대 점수를 얻는 문제입니다. 다음 조건이 적용됩니다:한 열에서 두 개의 스티커 중 하나만 선택할 수 있습니다.인접한 열에서 선택한 스티커와 같은 행의 스티커를 선택할 수 없습니다.점수의 합이 최대가 되는 값을 출력합니다.문제 해결 코드#include #include using namespace std;int arr[3][100001]; // 스티커 점수를 저장하는 배열int dp[3][100001]; // 최대 점수를 저장하는 DP 배열int main() { ios::sync_with_stdio(false); cin.tie(N.. 이전 1 ··· 49 50 51 52 53 54 55 ··· 72 다음