본문 바로가기

728x90
SMALL

분류 전체보기

(459)
백준 9655번 [돌 게임](C++) -yes6686- 티스토리 백준 문제 풀이: 9655 (돌 게임)문제 링크: https://www.acmicpc.net/problem/9655문제 설명:돌 게임은 돌을 1개 또는 3개 가져갈 수 있는 게임입니다. 두 사람이 번갈아가며 게임을 진행하며, 마지막 돌을 가져가는 사람이 승리합니다. 주어진 돌의 개수 n에 대해, 시작하는 사람이 이길 수 있는지 확인하여 이긴 사람을 출력합니다. - "SK"는 상근이가 승리, "CY"는 창영이가 승리입니다.문제 해결 코드#include using namespace std;int dp[1001]; // dp[i]: 돌이 i개 남았을 때 이긴 사람 (1: SK, 2: CY)int main() { int n; cin >> n; dp[1] = 1; // 돌 1개: SK 승리 ..
백준 9657번 [돌 게임 3](C++) -yes6686- 티스토리 백준 문제 풀이: 9657 (돌 게임 3)문제 링크: https://www.acmicpc.net/problem/9657문제 설명:돌 게임 3은 상근이와 창영이가 번갈아가며 게임을 진행하는 게임입니다. 한 번의 턴에서 돌을 1개, 3개, 혹은 4개 가져갈 수 있습니다. 마지막 돌을 가져가는 사람이 승리하며, 시작하는 사람이 이길 수 있는지 확인합니다. - "SK"는 상근이가 승리, "CY"는 창영이가 승리입니다.문제 해결 코드#include using namespace std;int dp[1001]; // dp[i]: 돌이 i개 남았을 때 승리하는 사람 (1: SK, 2: CY)int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n;..
백준 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..

728x90
LIST