본문 바로가기

알고리즘

(7)
[백준] 1915 가장 큰 정사각형 찾기 보호되어 있는 글입니다.
[백준] 9252 최장 공통부분 수열 찾기 보호되어 있는 글입니다.
[백준] 선물 전달하기 (1947) (c++) 점화식 유도 - D[N] = (N-1) (D[N-2] + D[N-1]) 를 하는 것이 중요 완전 순열 : n 개의 원소의 집합에서 원소들을 재배열할 때 이전과 같은 위치에 배치되는 원소가 1개도 없을 때를 말함점화식 도출 매커니즘상황 가정하기이 상황 다음에 일어날 수 있는 모든 상황 생각이 상황들의 경우의 수 구하기전부 더하기 #include using namespace std; int main(){ int N; int mod = 1000000000; long D[1000001]; cin >> N; D[1] = 0; D[2] = 1; for(int i=3; i 점화식만 찾으면 이렇게 간단할 수가;;
[백준] 순열의 순서 구하기 (1722) 보호되어 있는 글입니다.
[백준] 14494 다이나믹이 뭐에요? #include #include using namespace std;int main(){ int N, K; cin >> N >> K; long long D[1001][1001] = {0}; D[1][1] = 1; for(int i=1; i문제에서 시작지점이 (1,1) 이라고 했고, N K 조건에도 1~1000까지라.. D[1][1]=1 을 해줘야 하는데 안하고 관성적으로 D[0][0] 을 1로 놓고 시작함. 마지막 예제인 1000 1000을 넣으면 오버플로우가 발생해 음수가 나오는데, 배열의 자료형을 long long 으로 바꿔 주면 해결된다.
[백준] 15489 파스칼 삼각형 처음 짠 코드(틀림) #include #include using namespace std;int main(){ int R, C, W; cin >> R >> C >> W; int D[31][31] = {0}; for(int i=0; i합산 부분 반복문 범위 지정에서 광범위하게.. 틀림 첫 번째 행(꼭짓점의 값) 1 을 ans 로 설정R+1 행 ~ R+W-1 행까지 더하고 각 행에서 C열 ~ C+(행번호-R+1)까지 열을 더하는게  의도였는데.. 문제는 R의 값이 R번째 줄이라 행의 인덱스로 생각해보면 R번째 줄 = R-1행 이라는 것. 같은 이유로 C번째 수 역시 C-1열을 의미한다.   int ans = D[R-1][C-1]; for(int i=R; i그래서 이렇..
[백준] 11050 & 11051 이항계수 구하기 (c++) 조합 점화식 D[i][j] = D[i-1][j] + D[i-1][j-1] 11050 이항 계수 1 조합의 정의를 이용, 팩토리얼 함수를 이용해서 풀기 #include using namespace std;int factorial(int t) { int ans = 1; for(int i = t; i > 0; i--) { ans *= i; } return ans;}int main() { int N, K, result; cin >> N >> K; result = factorial(N) / (factorial(N-K) * factorial(K)); cout 이 문제에서는 N과 K 의 값이 10 이하이기 때문에 문제없이 돌아감. factorial(N), fac..