분류 전체보기 65

[개념] 네트워크 선 자르기(Top-Down, 재귀, 메모이제이션) / c++ & c / 제한시간 없음

▣ 문제 현수는 네트워크 선을 1m, 2m의 길이를 갖는 선으로 자르려고 합니다. 예를 들어 4m의 네트워크 선이 주어진다면 의 5가지 방법을 생각할 수 있습니다. (2)와 (3)과 (4)의 경우 왼쪽을 기준으로 자르는 위치가 다르면 다른 경우로 생각한다. 그렇다면 네트워크 선의 길이가 Nm라면 몇 가지의 자르는 방법을 생각할 수 있나요? ▣ 입력설명 - 첫째 줄은 네트워크 선의 총 길이인 자연수 N(3≤N≤45)이 주어집니다. ▣ 출력설명 - 첫 번째 줄에 부분증가수열의 최대 길이를 출력한다. ▣ 입력 예시 7 ▣ 출력 예시 21 #pragma warning(disable:4996) #include using namespace std; int dy[101]; int dfs(int n) { if (dy[..

[개념] 네트워크 선 자르기(Bottom-Up, DP) / c++ & c / 제한시간 없음

▣ 문제 현수는 네트워크 선을 1m, 2m의 길이를 갖는 선으로 자르려고 합니다. 예를 들어 4m의 네트워크 선이 주어진다면 의 5가지 방법을 생각할 수 있습니다. (2)와 (3)과 (4)의 경우 왼쪽을 기준으로 자르는 위치가 다르면 다른 경우로 생각한다. 그렇다면 네트워크 선의 길이가 Nm라면 몇 가지의 자르는 방법을 생각할 수 있나요? ▣ 입력설명 - 첫째 줄은 네트워크 선의 총 길이인 자연수 N(3≤N≤45)이 주어집니다. ▣ 출력설명 - 첫 번째 줄에 부분증가수열의 최대 길이를 출력한다. ▣ 입력 예시 7 ▣ 출력 예시 21 #pragma warning(disable:4996) #include using namespace std; int dy[50]; int main() { int n; scanf..

[BJ] 1182번 : 부분수열의 합(재귀,DFS) /c++ & c / 제한시간 : 2초

www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net #pragma warning(disable:4996) #include using namespace std; int ch[20]; int num[20]; int n, s, cnt = 0; void partition(int level) { int i, temp = 0, check = 0; if (level == n) { for (i = 0; i < level; i++) { if ..

[BJ] 1992번 : 쿼드트리(재귀) / c++ & c / 제한시간 : 2초

www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net #pragma warning(disable:4996) #include using namespace std; char map[65][65]; int n, p = 0; char ans[100000]; void compress(int x, int y, int edge) { char temp; int i, j; temp = map[x][y]; if (edge == 1) { if (temp == '1')an..