FESTIVAL 재귀적접근 psh4253 이 문제를 재귀를 이용해서푸는데 제가 빼먹은 부분을 도무지 찾을 수 없어 질문드리게되었습니다 기본적인 흐름은 i일 시작을 기점으로 마지막일까지 하루씩 더해가며 평균을 구하는 방법을 생각했습니다. 로직의 이상이 있는건지 아니면 사소한 문제인지 그 점을 알고싶은데 도움 부탁드리겠습니다. #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int t; int c[1001]; int n, l; double result; void go(int start, double cost, double days, int max) { if (start + l - 1 > n) return; // 기준일 +L일이 표를 벗어나면 if (days >= l) // 입력된 L일 이상 진행해야하기때문에 { double tmp = cost / days; result = min(tmp, result); } go(start + 1, cost + c[start + 1], days + 1, max); } int main(void) { scanf("%d", &t); while (t--) { result = 999; for (int i = 0; i <= 1000; i++) { c[i] = 0; // 매 데이터 초기화 } scanf("%d %d", &n, &l); for (int i = 1; i <= n; i++) { scanf("%d", &c[i]); } for (int i = 1; i <= n; i++) { go(i, c[i], 1, n); } printf("%.12lf\n", result); } } 8년 전
0개의 댓글이 있습니다. 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
psh4253
이 문제를 재귀를 이용해서푸는데 제가 빼먹은 부분을 도무지 찾을 수 없어 질문드리게되었습니다
기본적인 흐름은 i일 시작을 기점으로 마지막일까지 하루씩 더해가며 평균을 구하는 방법을 생각했습니다.
로직의 이상이 있는건지 아니면 사소한 문제인지 그 점을 알고싶은데 도움 부탁드리겠습니다.
8년 전