반응형
반응형
https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 난이도: solved.ac 실버 1 중국인의 나머지 정리? 를 이용해서 푸는 거라던데, 유클리드 호제법도 잘 모르는 나는 그냥 내 식대로 풀어봤다. 를 만들기 위해 먼저 부터 시작해서 두 번째 자리에 있는 x를 y로 만드는 것을 목표로 했다. 예를 들어 예제 입력 1의 첫 번째 케이스처럼 m = 10, n = 12, x = 3, y = 9라면, 일단 부터 시작해서 앞자리가 3인 다음 경우를 생각해 보..
https://www.acmicpc.net/problem/1956 1956번: 운동 첫째 줄에 V와 E가 빈칸을 사이에 두고 주어진다. (2 ≤ V ≤ 400, 0 ≤ E ≤ V(V-1)) 다음 E개의 줄에는 각각 세 개의 정수 a, b, c가 주어진다. a번 마을에서 b번 마을로 가는 거리가 c인 도로가 있다는 의 www.acmicpc.net 난이도: solved.ac 골드 4 알고리즘 분류 그래프 이론, 플로이드 워셜 (Floyd-Warshall) 접근 방법 다익스트라 알고리즘을 이용할 수도 있겠지만 정점의 개수가 적으므로 플로이드 워셜 알고리즘을 이용하였다. 구현 기존의 플로이드 워셜 문제에서는 자기 자신으로 가는 비용은 0으로 초기화했지만, 이 문제에서는 자기 자신을 포함한 모든 노드로 가는 비용..
https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 난이도: solved.ac 실버 2 알고리즘 분류 그래프 탐색(BFS, DFS) 접근 방법 input에서 두 번째 줄에 주어지는 두 사람을 각각 a, b라고 하고, a 노드부터 시작해 BFS를 이용하여 한 칸씩 이동한다 이때 각 노드의 방문 여부를 알려주는 visited에 촌수 + 1을 적는다 (Ex. a와 i가 3촌이면 visited[i] = 4) 코드 #include #in..
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 곱 www.acmicpc.net 난이도: solved.ac 실버 1 알고리즘 분류 브루트포스 알고리즘, 백트래킹 접근 방법 N개의 수 사이 N - 1개의 자리에 모두 들어갈 수 있는 N - 1개의 연산자가 주어지고, 연산은 연산자 우선순위를 무시하고 앞에서부터 진행되므로, 직접 다 하나씩 집어넣어보는 브루트포스 알고리즘을 사용한다. 구현 N개의 수를 저장할 배열 A와 각..
https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 난이도: solved.ac 실버 5 알고리즘 분류 구현, 비트마스킹 접근 방법 찾고자 하는 숫자의 번호를 index로 갖는 배열의 값을 1 또는 0으로 두어 집합 내 숫자의 유무를 확인할 수 있다. set[5] = 1은 숫자 5가 집합 S에 있다는 것을 의미하고 set[5] = 0은 숫자 5가 집합 S에 없다는 것을 의미한다. 코드 #define _CRT_SECURE_NO_WARNINGS #include #include int se..