백준 11726번
·
카테고리 없음
https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net #include #include using namespace std; int main() { int N; cin >> N; vector dp; dp.push_back(1); dp.push_back(3); for (int i = 2; i < N; i++) { dp.push_back((dp[i - 1] + dp[i - 2]*2)% 10007); } cout
백준 1110번
·
카테고리 없음
https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net #include using namespace std; int main() { int input; cin >> input; int result; result = input; int count = 0; while (true) { int a = result / 10; int b = result % 10; int c = a + b; result = b * 10 + c % 10; count+..
백준 2579번
·
카테고리 없음
https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net #include #define MAX 301 using namespace std; int N; int arr[MAX]; int dp[MAX]; int Max(int A, int B) { if (A > B) { return A; } else { return B; } } int main(void) { cin >> N; for (int i = 1; i > arr[i]; } dp[1] = arr[1]; dp[2] =..
백준 16953번
·
Study/Algorithm
https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A > input1 >> input2; while (input2 >= input1) { if (input2 == input1) { cout
백준 14916번
·
Study/Algorithm
https://www.acmicpc.net/problem/14916 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net #include using namespace std; int main() { int money, result; cin >> money; bool success = false; int five = money / 5; while (!success) { float two = (money - five * 5) % 2; if (two == 0) { success = true; result = five + (money - five * 5) / 2; } else { five--; } } if (money == 1 || money..
백준 1021번
·
Study/Algorithm
https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net #include #include using namespace std; int main(int argc, char** argv) { deque Deque; int left, right; int cnt = 0; int N, M; cin >> N >> M; for (int i = 1; i num; for (int i = 0; i
백준 1068번
·
Study/Algorithm
https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net #include #include #include using namespace std; vector node; int N; int answer = 0; int target; void Count(int now_node) { if (now_node == target) return; int now_node_size = node[now_node].size(); switch (now_node_size)..
백준 14501번
·
Study/Algorithm
https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net #include using namespace std; int t[1000] = { 0, }; int p[1000] = { 0, }; int dp[1000] = { 0, }; int max(int x, int y) { return x > y ? x : y; } int main() { int N; int next; cin >> N; for (int i = 1; i > t[i] >> p[i]; } for (int i = N; i > 0; i--) { next = i + t[i]; if (next > N + 1) { dp[i] = dp[i ..