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