본문 바로가기

c104

[백준/C,C++] 11726번: 2×n 타일링 www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 풀이 입력값에 따른 출력값이 피보나치 수열과 비슷하게 증가합니다. n이 1일 때 방법의 수는 1이고, 2일 땐 2, 3일 땐 3, 4일 땐 5 ... 입니다. #include using namespace std; int DP[1001]; int main(void) { DP[1] = 1; DP[2] = 2; int n; cin >> n; for (int i = 3; i 2021. 4. 20.
[백준/C,C++] 9095번: 1, 2, 3 더하기 www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 풀이 기본적인 DP 문제입니다. 1 → 1개 / 1 2 → 2개 / 1 + 1, 2 3 → 4개 / 1 + 1 + 1, 1 + 2, 2 + 1, 3 4 → 7개 / 1 + 1 + 1 + 1, 1 + 1 + 2, 1 + 2 + 1, 2 + 1 + 1, 2 + 2, 1 + 3, 3 + 1 여기서 잘 보시면 4의 경우 1에 3을 더하는 경우, 2에 2를 더하는 경우, 3에 1을 더하는 경우로 이루어져 있습니다. 1에 3을 더하는 경우 → 1 + 3 2에 2를 더하는 경우 → 1 + 1 + 2, 2 + 2 3에 1을.. 2021. 4. 20.
[백준/C,C++] 16561번: 3의 배수 www.acmicpc.net/problem/16561 16561번: 3의 배수 윤영이는 3의 배수 마니아이다. 그는 모든 자연수를 3개의 3의 배수의 자연수로 분해하는 것을 취미로 가지고 있다. 문득 그는 자신에게 주어진 수를 3개의 3의 배수로 분리하는 경우의 수가 몇 www.acmicpc.net 풀이 휴리스틱하게 작은 입력부터 출력을 계산해보다 보면 규칙이 나오는 문제입니다. 9 → 1개 / 3 + 3 + 3 12 → 3개 / 6 + 3 + 3, 3 + 6 + 3, 3 + 3 + 6 15 → 6개 / 9 + 3 + 3, 3 + 9 + 3, 3 + 3 + 9, 6 + 6 + 3, 6 + 3 + 6, 3 + 6 + 6 18 → 10개 / 12 + 3 + 3, 3 + 12 + 3, 3 + 3 + 12, ... 2021. 4. 19.
[알고스팟/C,C++] FANMEETING: 팬미팅 www.algospot.com/judge/problem/read/FANMEETING algospot.com :: FANMEETING 팬미팅 문제 정보 문제 가장 멤버가 많은 아이돌 그룹으로 기네스 북에 올라 있는 혼성 팝 그룹 하이퍼시니어가 데뷔 10주년 기념 팬 미팅을 개최했습니다. 팬 미팅의 한 순서로, 멤버들과 참가 www.algospot.com 되게 어려운 문제라 알고리즘 문제 해결 전략(종만북)의 풀이를 참고하여 풀었습니다. 예제 입력인 FFFMMM, MMMFFF의 경우를 봅시다. 이는 F는 0으로 M은 1로 바꿔, 수열의 곱으로 나타낼 수 있습니다. 팬의 경우 역순으로 곱해주면 되는데요. 멤버와 팬의 각 자리별 곱의 결과는 해당 팬이 해당 멤버와 포옹을 하는지 악수를 하는지를 나타냅니다. 가령.. 2021. 3. 31.