c104 [백준/C,C++] 1260번: DFS와 BFS www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 풀이 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)을 구현하는 문제입니다. DFS와 BFS의 개념과 구현 방법은 생략하고, 현재 정점에서 여러 정점을 방문할 수 있을 때, 정점 번호가 작은 것을 먼저 방문해야 하므로, 그래프를 오름차순으로 정렬만 해주면 됩니다. #include #include #include #include #include using namespace.. 2021. 4. 20. [백준/C,C++] 9465번: 스티커 www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 풀이 많이 등장하는 비교적 쉬운 난이도의 DP 문제입니다 100에 해당하는 스티커를 떼야 한다고 생각해 봅시다. 빨간색으로 동그라미 쳐진 스티커 두장을 떼고 100점 짜리 스티커를 떼거나 파란색으로 동그라미 쳐진 스티커를 떼고 100점 짜리 스티커를 떼는 방법이 있을 겁니다. 빨간색으로 동그라미 쳐진 스티커를 한장만 떼고 100점 짜리 스티커를 떼는 방법은 고려하지 않아도 됩니다. 두 번째 50점짜리.. 2021. 4. 20. [백준/C,C++] 10799번: 쇠막대기 www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 풀이 입력으로 3가지의 경우가 입력될 수 있습니다. 1. 쇠막대기가 시작되는 부분 '(' 2. 쇠막대기가 끝나는 부분 ')' 3. 레이저 "()" 레이저가 쇠막대기를 절단할 때 생기는 쇠막대기의 개수는 현재 쇠막대기가 몇 개 깔려있냐에 따라 다릅니다. 그림에서 처음 레이저를 발사할 때 총 3개의 쇠막대기가 깔려 있습니다. '('가 3번 입력된 거죠. 그다음 레이저를 발사할 때도 동일하게 3개입니다. 그리고 쇠막대기가 끝나.. 2021. 4. 20. [백준/C,C++] 1850번: 최대공약수 www.acmicpc.net/problem/1850 1850번: 최대공약수 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A www.acmicpc.net 풀이 A, B 길이의 최대 공약수만큼 1을 출력해주면 됩니다. #include using namespace std; using LL = long long; LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } int main(void) { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL.. 2021. 4. 20. 이전 1 ··· 7 8 9 10 11 12 13 ··· 26 다음