Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 다이나믹 프로그래밍
- 삼성 코딩테스트
- 언어의 온도
- 창훈쓰다
- 성화봉송주자
- multiset
- 다음 API
- Segment Tree
- 영어회화 100일의 기적
- BFS
- yolo
- 캘리그라피
- lower_bound
- 생활코딩
- upper_bound
- 성화봉송
- 다음 지도 api
- boj
- 인간이 그리는 무늬
- BOJ 2098
- 이분탐색
- 안드로이드 스튜디오
- MST
- 백트레킹
- 그리디 알고리즘
- 위상정렬
- 비트마스크
- 평창동계올림픽
- DP
- 외판원 순회
Archives
- Today
- Total
Hoon222y
[BOJ 2602] 돌다리 건너기 본문
https://www.acmicpc.net/problem/2602
발은 두개니까 두발로 두줄의 돌다리를 건너는 문제이다 (규칙은 문제를 읽어보도록 ...)
해당 문제의 경우 dp테이블을 3차원으로 dp[위쪽인지 아래쪽인지][몇번째 문자열인지][몇번째로 밟았는지] 로 정의할 수 있다.
간략하게 dp점화식을 세운다면 dp[위쪽][i번쨰 문자열][j번쨰로 밟은경우] += dp[아래쪽][i-1번째 문자열][j-1번쨰로 밟은경우] 이런식이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #include<iostream> #include<string> #include<stdio.h> #include<algorithm> #include<utility> #include<vector> #include<cstring> #include<queue> #include<cmath> #include<math.h> #define INF 1e9 typedef unsigned long long ll; using namespace std; string s,s1,s2; int dp[4][111][111]; // (위 아래) / 몇번쨰문자열인지 / 몇번째 숫자인지 int main(){ cin >> s >> s1 >>s2; for(int i=0;i<s1.length();i++){ if(s[0] == s1[i]){ dp[1][i][0]++; } if(s[0] == s2[i]){ dp[2][i][0]++; } } for(int i=0;i<s.length();i++){ for(int j=0;j<s1.length();j++){ if(s[i] == s1[j]){ for(int k= j+1;k<s1.length();k++){ if(s[i+1] == s2[k]){ dp[2][k][i+1] += dp[1][j][i]; } } } if(s[i] == s2[j]){ for(int k= j+1;k<s1.length();k++){ if(s[i+1] == s1[k]){ dp[1][k][i+1] += dp[2][j][i]; } } } } } int ans= 0; for(int i=0;i<s1.length();i++){ ans += dp[1][i][s.length()-1] +dp[2][i][s.length()-1]; } cout <<ans <<endl; } | cs |
'코딩 > BOJ & 알고스팟' 카테고리의 다른 글
[BOJ 13700] 완전범죄 (0) | 2017.08.24 |
---|---|
[BOJ 1377] 버블 소트 (0) | 2017.08.23 |
[BOJ 14431] 소수마을 (0) | 2017.06.21 |
[BOJ 13911] 집 구하기 (0) | 2017.06.19 |
[codeforce #419] B - Karen and Coffee (0) | 2017.06.18 |
Comments