Category: computer science

0

백준[11726] - 2*n 타일링

문제백준 11726 문제 보기 접근 방법bottom-up 방식의 dp를 활용해 문제 접근을 했다. 길이가 1인 타일이 추가될 때와 2인 타일이 추가될때의 경우를 계산해 식을 세웠다.점화식은 다음과 같다.dp[n] = dp[n-1] + dp[n-2] 코드#include <iostream> using namespace std; int n; int d

0

백준[11836] - 여왕벌

문제백준 10836 문제 보기 접근 방법초반에 문제를 잘못 이해해 엄청 틀렸다.. 첫날부터 순서대로 입력이 되는건데 내맘대로 순서대로라는 단어를 빼고 읽었다. 문제 접근 방법은 먼저 map[1][1]을 구해야 이후의 행을 구할 수 있다.행 하나하나를 계산하면서 진행하면 시간초과가 남으로 먼저 맨 왼쪽 행과 맨 위쪽 열만 받아 저장하고 나머지 영역은 맨 윗

0

백준[10835] - 카드놀이

문제백준 10835 문제 보기 접근 방법dfs를 사용해서 경우를 잘 나누면 문제를 해결할 수 있음. 근데 N이 크다보니 메모이제이션 방법으로 중간값을 계속 저장해야 함. 시간 초과가 나지 않을까 걱정했는데 다행히 통과. 코드#include <iostream> using namespace std; int N; int box[2001][2001];

0

백준[10834] - 벨트

문제백준 10834 문제 보기 접근 방법마지막 바퀴 벨트만 신경써서 접근하면 공략 가능.i 바퀴와 i+1의 관계를 비율로 접근해 i+2에 적용하는 방식. 코드#include <iostream> using namespace std; int M; int arr[1001][3]; int vec = 0; int main() { cin >> M

0

백준[10833] - 사과

문제백준 10833 문제 보기 접근 방법간단한 수학문제와 같다. 나머지만 잘 저장하고 더하면 끝. 코드#include <iostream> using namespace std; int N; int arr[101][2]; int sum = 0; int main() { cin >> N; for (int i = 0; i > arr[i

0

백준[13302] - 리조트

문제백준 13302 문제 보기 접근 방법각 금액 별로 완전 탐색을 하다가 이전 방문한 경로를 저장하는 형식으로 구현했더니 정답. 코드#include <iostream> #include <cstring> #define MIN(a,b) ((a)<(b)? (a):(b)) #define IMPOSSIBLE (100000000) using n