본문 바로가기

백준 알고리즘/백준 CLASS 537

[백준 C++] 1806번 : 부분합 1. 문제 https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 2. 알고리즘 분류 누적 합 두 포인터 3. 소스 코드 #include #include #include #define INF 987654321 using namespace std; int main() { // N : 수열의 갯수, S : 최소 누적합 입력 int N, S; vector sequence; scanf("%d %d", &N, &S); // 수열 입력 for (i.. 2023. 9. 14.
[백준 C++] 1647번: 도시 분할 계획 1. 문제 https://www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net 2. 알고리즘 분류 그래프 이론 최소 스패팅트리 3. 소스 코드 #include #include #include #include using namespace std; int N, M, ans, max_cost; int parent[100005]; vector edges; int Find(int x) { if (parent[x] == x) return.. 2023. 9. 12.
[백준 C++] 12100번 : 2048 (Easy) 1. 문제 https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 2. 알고리즘 분류 구현 브루트포스 알고리즘 시뮬레이션 백트래킹 3. 소스 코드 #include #include #define INF 987654321 using namespace std; int N; int map[20][20]; int map_origin[20][20]; int ans = -INF; vector path;// 이동 방향 void init_.. 2023. 9. 12.
[백준 C++] 1197번: 최소 스패닝 트리 1. 문제 https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 2. 알고리즘 분류 그래프 이론 최소 스패닝 트리 3. 소스 코드 #include #include #include #include using namespace std; int parent[10005]; bool is_cycle; vector graph; // 부모를 찾는 함수 int find_parent(int x) { if (parent[.. 2023. 6. 10.
[백준 C++] 27172번: 수 나누기 게임 1. 문제 https://www.acmicpc.net/problem/27172 27172번: 수 나누기 게임 《보드게임컵》을 준비하다 지친 은하는 보드게임컵 참가자들을 경기장에 몰아넣고 결투를 시키는 게임 《수 나누기 게임》을 만들었습니다. 《수 나누기 게임》의 규칙은 다음과 같습니다. www.acmicpc.net 2. 알고리즘 분류 수학 프루트포스 알고리즘 정수론 소수 판정 에라토스테네스의 체 3. 소스 코드 #include #include #include using namespace std; vector numbers; int scores[1000006]; int cards[1000006]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); co.. 2023. 6. 10.
[백준 C++] 2467번: 용액 1. 문제 https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net 2. 알고리즘 분류 이분 탐색 두 포인터 3. 소스 코드 #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); // 전체 용액의 수 입력 int N; cin >> N; vector numbers(N); // 용액의 특성값 입력 for (i.. 2023. 6. 10.
[백준 C++] 2166번: 다각형의 면적 1. 문제 https://www.acmicpc.net/problem/2166 2166번: 다각형의 면적 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net 2. 알고리즘 분류 기하학 다각형의 넓이 3. 소스 코드 #include #include #include using namespace std; vector polygon_coord; // 다각형 좌표 데이터 int main() { // N 값 입력 int N; scanf("%d", &N); // 다각형의 좌표 입력 for (int i = 0; i < N; i++) { double x, y; scanf("%lf %.. 2023. 6. 9.