본문 바로가기
반응형

백준8

[cpp 알고리즘] 백준 25943 양팔저울 [백준] 25943 양팔저울 cpp 풀이 2022 ICPC KOREA 인터넷 예선(Internet Competition) A번 구현, 그리디 알고리즘 https://www.acmicpc.net/problem/25943 문제 요약 - n개의 자갈이 순서대로 주어지고, 아래 두 가지 규칙을 고려하여 양팔저울에 올리면 된다. (1) 평형인 경우, 자갈을 양팔저울의 왼쪽에 올려둔다. (2) 평형이 아닌 경우, 양팔저울의 가벼운 쪽에 저울을 올려둔다. - 최종적으로 양팔 저울의 평형을 맞추면 된다. 이 때는 1g, 2g, 5g, 10g, 20g, 50g, 100g의 7종류의 무게추를 사용하는데, 이 때 무게추의 최소 개수를 구하면 된다. 풀이 정리 1. 자갈 N개의 개수만큼 반복문을 돌면서, 좌/우 중에 어디 두.. 2023. 9. 27.
[C++ 알고리즘] 백준 14444 가장 긴 팰린드롬 부분 문자열 [백준] 14444 가장 긴 팰린드롬 부분 문자열 cpp 풀이 문자열, 매내처 알고리즘 https://www.acmicpc.net/problem/14444 14444번: 가장 긴 팰린드롬 부분 문자열 알파벳 소문자로만 이루어진 문자열 S가 주어졌을 때, S의 부분 문자열 중에서 팰린드롬 이면서 길이가 가장 긴 것의 길이를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 요약 - 문자열 S가 주어졌을 때, S의 부분 문자열 중에서 팰린드롬 이면서 길이가 가장 긴 것의 길이를 출력하면 된다. - 문제는 짧지만, 문자열 S를 글자 하나씩, 글자 두개씩, 글자 세개씩 잘라서 각각이 팰린드롬인지 확인해야 한다고 생각했다. 풀이 정리 1. 역시나, 그냥 다 해보는 것이다. 문자열의 길이가 n이라고 .. 2023. 5. 23.
네트워크 플로우(Network Flow) 알고리즘, 포드-풀커슨 (Ford-Fulkerson) 네트워크 플로우(Network Flow) 알고리즘이란? - 그래프에서 두 정점 사이에 얼마나 많은 유량(flow)을 보낼 수 있는지 계산하는 알고리즘 - 그래프 내 source 정점에서 유량을 발생시켜 간선을 통해 sink 정점에 도달시키는 것이 목표 = 최대 유량(Maximum Flow) 알고리즘 기본 용어 정리 용량 (Capcity, c(u,v)) : 정점 u에서 v로 가는 간선에 흐를 수 있는 최대 유량(가중치) 유량 (Flow, f(u,v)) : 정점 u에서 v로의 간선에 실제로 흐르는 유량 잔여 용량 (Residual Capacity: r(u,v)) : c(u,v) - f(u,v) 소스 (Source) : 유량이 시작되는 정점 싱크 (Sink) : 모든 유량이 도착하는 정점 증가 경로 (Augm.. 2023. 5. 22.
[cpp 알고리즘] 백준 1149 RGB거리 c++ 1. 문제 2. 풀이 3. 코드 #include #include using namespace std; int N; int arr[1001][3]; int dp[1001][3]; int main(){ // input cin >> N; for(int i=0; i arr[i][j]; } } // init dp[0][0] = arr[0][0]; dp[0][1] = arr[0][1]; dp[0][2] = arr[0][2]; // dp[x][0] = arr[x][0] + min(dp[x-1][1], dp[x-1][2]) for(int i=1; i 2022. 7. 13.
반응형