본문 바로가기

분류 전체보기

(308)
[백준/C++] 1068번: 트리 문제 https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 문제 요약 N개 노드로 이루어진 트리에서 각 노드들의 부모 노드의 정보를 입력 받는다. + 0번 노드 ~ N - 1번 노드까지 존재한다. 해당 트리에서 노드 하나를 지웠을 때, 리프 노드의 개수를 출력한다.+ 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다. 코드 #include #include #define MAX_N 50 using namespace std; int n..
[백준/C++] 16236번: 아기 상어 문제 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 문제 요약 N × N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1 × 1 크기의 정사각형 칸으로 나누어져 있고, 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 갖고 있고, 초기 아기 상어의 크기는 2이다. 아기 상어는 1초에 상하좌우로 인접한 1칸씩 이동할 수 있다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나 갈 수 ..
[백준/C++] 1914번: 하노이 탑 문제 https://www.acmicpc.net/problem/1914 1914번: 하노이 탑 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 문제 요약 세 개의 장대가 있을 때, 첫 번째 장대에 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여 있다. 규칙에 따라. 첫 번째 장대에 있는 n개의 원판을 모두 세 번째 장대로 옮길 때, 옮긴 횟수와 순서를 출력한다. 1. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 2. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 단, 이동 횟..
[백준/C++] 1002번: 터렛 문제 https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 $-1$ 출력한다. www.acmicpc.net 문제 요약 좌표평면에서 두 점 (x1, y1)과 (x2, y2)이 주어졌을 때, (x1, y1)에서 r1만큼 떨어지고, (x2, y2)에서 r2만큼 떨어진 점의 수를 출력한다. 코드 #include #include #include using namespace std; int t; int main() { // 입출력 시간 단축 ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >>..
[백준/C++] 28421번: 곱하기와 쿼리 문제 https://www.acmicpc.net/problem/28421 28421번: 곱하기와 쿼리 길이가 $N$인 수열 $A_1, A_2, A_3, \cdots, A_N$이 주어진다. 다음 질의를 수행하는 프로그램을 작성하시오. 1 $x$: 수열에서 서로 다른 두 수 $i$, $j$를 골라 $A_i$, $A_j$를 곱하여 $x$를 만들 수 있으면 $1$, 없 www.acmicpc.net 문제 요약 길이 가 N인 수열 A가 주어졌을 때, 다음 질의를 수행하는 프로그램을 작성한다. 1 x: 수열에서 두 수를 골라 x를 만들 수 있으면 1, 없으면 0을 출력한다. 만약, 같은 수를 선택하는 경우, 2개가 필요하다. ( 0 ≤ x ≤ 100,000,000) 2 i: A의 i번째 수를 0으로 변경한다. + 수..
[백준/C++] 28423번: 게임 문제 https://www.acmicpc.net/problem/28423 28423번: 게임 수학을 잘하는 랑이는 오늘 집사에게 수를 이용한 게임을 배웠다. 이 게임은 양의 정수 $N$을 초깃값으로 가진 상태로 시작한다. $N$의 각 자릿수를 모두 더한 값을 $A$, $N$의 각 자릿수를 모두 곱 www.acmicpc.net 문제 요약 f(N)를 "N의 각 자릿수를 모두 더한 A와 N의 각 자릿수를 곱한 B를 이어 붙인 수" 라고 정의한다. f(N), f(f(N)), f(f(f(N))), ... 형태로 계속 나아갈 때, f(x) = x 형태가 되는 x가 나올 수 있는지 알아내어 g(N)을 구할 수 있다. f(x) = x가 나오게 된다면 g(N) = 1, 나올 수 없다면 g(N) = 0이다. + 단, f(..