알고리즘/BOJ문제풀이 22

195번째 문제 - 2293 동전1

평소대로 메모리 신경안쓰고 재귀로 해결하니 (보통 100메쯤 주니까 ... 이 문제는 확인해보니 4메가) 메모리 초과로 오답을 받았다. 이차원배열이던 dp 배열을 1차원으로 바꾸고 2차원 반복문으로 해결했다. 점화식이 간단하니 점화식 설명은 생략 #include #include #include using namespace std; int main(){int cache[10001] = { 1,0 };vector cur;int c, m, t;cin >> c >> m;while (c--) {cin >> t;cur.push_back(t);} sort(cur.begin(), cur.end());for (int i = 0; i < cur.size(); i++) {for (int j = cur[i]; j

3차 대회

오늘도 요렇게 랜덤 함수 돌려서 대회 만듬 오늘은 문제가 극악이였다. A번 컨벤션 센터는 약간 꼬은 그리디 문제. 적절한 난이도인데 마지막에 풀어서 시간이 모자랐고B번 Dream Counting 문제는 그냥 쉬운 구현문제D번 신나는 분수 계산은 귀찮은 구현문제 (쉬운데 코드량이 많음) D번에 시간을 다 쏟아 부어서 아쉽다. 문자열 처리하는데 웹 컴파일러에서 정규식이 작동을 잘 안해서 직접 다 손으로 구현했다. 이런 문제는 파이썬을 쓰면 손쉽게 해결 가능할듯 ..

187번째 문제 - 1987 알파벳

틈날때 마다 dfs 문제를 풀어나가고 있다. 이 문제도 그냥 dfs 하면서 가장 멀리 갈 수 있는 경로의 길이를 출력하는 문제다 ..boj에 dfs로 태그되어 있는 문제를 푸는데 앞에서 부터 풀다보니 계속 난이도가 쉬운 문제 위주로 풀게 되는 것 같다. #include #include using namespace std; char map[21][21];int color[26] = { 0 };int Y, X; int dfs(int y, int x){//최대 이동할 수 있는 칸 return;int ret = 0;char cur = map[y][x];color[cur - 'A'] = 1;for (int i = -1; i = X) continue;char next = map[nextY][nextX];if (co..