失落的成绩单题解
这题挺简单的,一些数学推导就可以做出。
首先,我们设
注:写得较为繁琐是便于下面的系数推式子。
发现了什么?这些式子都是形如
接下来就很简单喽!AC 代码如下:
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[100],b[100],c[100];
double d,x,y,ans[100];
int main(){
scanf("%lld%lld%lf%lf%lf",&n,&m,&d,&x,&y);
if(m==1) printf("%.3lf",x);
else if(m==n) printf("%.3lf",y);
else{
a[2]=1;
b[2]=2;
c[2]=2;
for(int i=3;i<n;i++){
a[i]=c[i-1];
b[i]=b[i-1]+2*c[i-1];
c[i]=2*c[i-1]+a[i-1];
}
ans[n]=y;
for(int i=n-1;i>=1;i--) ans[i]=(x-a[i]*ans[i+1]+b[i]*d)/c[i];
printf("%.3lf",ans[m]);
}
return 0;
}