유형 난이도 완료일 링크 특이사항 DP 실버3 23/02/20 https://www.acmicpc.net/problem/2579 오답 코드 #include #include using namespace std; int arr[300]; int MAX = 0; int sum; void Recursion(bool jump, int idx) { if(idxarr[idx-2]) { //cout
알고리즘
유형 난이도 완료일 링크 특이사항 DP 실버1 23/02/19 https://www.acmicpc.net/problem/1932 내 코드 #include #include using namespace std; int arr[501][501]; int n; int main(void) { cin >> n; for(int i=0; i arr[i][j]; } } for(int i=n-2; i >= 0; i--) { for(int j=0; j
유형 난이도 완료일 링크 특이사항 DP 실버1 23/02/19 https://www.acmicpc.net/problem/1149 오래 걸림 내 풀이 #include #include using namespace std; int arr[1001][3]; int visited[1001][3]; int n; int Recursion(int row, int column) { if(row == n-1) return arr[row][column]; if(visited[row][column]!=0) return visited[row][column]; int a, b; if(column == 0) { a = Recursion(row+1, 1); b = Recursion(row+1, 2); if(a
유형 난이도 완료일 링크 특이사항 DP 실버2 23/02/16 https://www.acmicpc.net/problem/1912 오래 걸림, 질문게시판 참조 오답 코드 #include #include #include using namespace std; int MAX = -9999; int n; int arr[100001]; bool exist[100001][100001]; void Recursion(int start, int end, int sum) { if(start==end) return; if(sum > MAX) MAX = sum; exist[start][end] = 1; if(!exist[start+1][end]) Recursion(start+1, end, sum-arr[start]); if(!..
유형 난이도 완료일 링크 특이사항 DP 실버3 230212 https://www.acmicpc.net/problem/9461 p[1] ~ p[10] 까지의 값이 주어져 있어서 이를 이용해 답의 규칙을 찾아낼 수 있었다. 점화식을 알아내자 코드 작성은 쉬웠다. #include using namespace std; long long Pado[101]; int main(void) { Pado[1] = 1; Pado[2] = 1; Pado[3] = 1; Pado[4] = 2; Pado[5] = 2; for(int i= 6; i> k; for(int i=0; i> n; cout
유형 난이도 완료일 링크 특이사항 DP 실버2 23/02/10 https://www.acmicpc.net/problem/1904 첫 풀이(오답) 처음엔 조합을 이용해서 해결하려 했다. 1과 00을 묶어 각각 하나의 선택지라고 생각하면, AABBB를 줄세우는 확통 문제처럼 해결할 수 있게 된다. 예를 들어 N = 5라면 ”00” 은 0개, 1개, 혹은 2개까지 들어갈 수 있다. “00”이 0개 → 1로 5칸을 꽉 채워 경우의 수가 1개(5C0), “00”이 1개 → [ “00”, “1”, “1”, ”1”] 을 줄세우는 경우와 같으므로 4C1로 계산할 수 있다. “00”이 2개 → [”00”, ”00”, “1”] 을 줄세우는 경우와 같으므로 3C2로 계산할 수 있다. 즉 n개의 칸을 채우는 경우 ”00”의 ..
유형 난이도 완료일 링크 특이사항 DP 실버2 23/02/07 https://www.acmicpc.net/problem/9184 #include #include using namespace std; int main(void) { int a, b, c; while(true) { cin >> a >> b >>c; int origin_a = a; int origin_b = b; int origin_c = c; if( ( a == -1 && b == -1) && (c == -1)) return 0; if((a
https://www.acmicpc.net/step/16 유형 난이도 완료일 특이사항 DP 브론즈4 23/02/05 #include using namespace std; int r_cnt=0; int dc_cnt=0; int arr[40]; int fib(int n) { if (n == 1 || n == 2) { r_cnt++; return 1; } else return (fib(n - 1) + fib(n - 2)); } int fibonacci(int n) { arr[1] = 1; arr[2] = 1; for(int i = 3; i > n; fib(n); fibonacci(n); cout