알고리즘 설계 및 분석: C++ 구현 과제 (생명 게임, 잠긴 문, 세 물통 퍼즐, 문자열 매칭, 디스크 정렬)

1. 콘웨이의 생명 게임 구현 콘웨이의 생명 게임은 세포 자동자(cellular automaton)의 한 종류로, 생명체의 탄생, 생존, 죽음을 단순한 규칙으로 시뮬레이션합니다. 각 세포는 8개의 이웃을 가질 수 있으며, 다음 규칙에 따라 상태가 변화합니다: 생존 규칙: 이웃 세포가 2개 또는 3개인 살아있는 세포는 다음 세대에도 생존합니다. 사망 규칙: ...

8월 16일 18:06에 게시됨

동적 프로그래밍을 통한 배낭 문제 이해

배낭 문제 종류 및 해결 방법 다양한 배낭 문제 유형과 그에 따른 최적화 전략을 정리합니다. 01 배낭 문제 n개의 물품(각각의 부피와 가치는 v[i], w[i])과 용량이 V인 배낭이 있을 때 최대 가치를 계산합니다. for(int i=1; i=v[i]; --j) dp[j] = max(dp[j], dp[j-v[i]] + w[i]); 완전 배낭 문제 모든 물품이 무한히 제공되는 경우의 최적화 알고리즘입니 ...

7월 24일 01:33에 게시됨

2024년 하이베이 프로그래밍 경연 대회

A - 최대 곱셈 두 수 a와 b의 곱이 최대가 되는 조건은 a=1일 때입니다. #include <iostream> using namespace std; typedef long long ll; #define endl '\n' ll gcd(ll a, ll b) { while (b) { swap(a, b); b %= a; } return a; } void solve() { ll x, y; cin >> x >> y; cout n; vector points(n); for (au ...

6월 23일 02:23에 게시됨