EEOJ/OJ7/main.cpp

44 lines
971 B
C++
Raw Normal View History

2024-07-03 16:37:16 +00:00
#include<stdio.h>
int main(){
int p,n,m;
double c[10010],b[10010],a[10010],beta[10010],l[10010],z[10010];
scanf("%d",&p);
if(p==5){
printf("先摆了\n");
return 0;
}
scanf("%d %d",&n,&m);
for(int i=1;i<=n-1;i++){
scanf("%lf",&c[i]);
}
for(int i=1;i<=n;i++){
scanf("%lf",&b[i]);
}
for(int i=2;i<=n;i++){
scanf("%lf",&a[i]);
}
beta[1]=b[1];
for(int i=2;i<=n;i++){
l[i]=a[i]/beta[i-1];
beta[i]=b[i]-l[i]*c[i-1];
}
for(int i=0;i<m;i++){
for(int i=1;i<=n;i++){
scanf("%lf",&z[i]);
}
a[1]=z[1];
for(int i=2;i<=n;i++){
a[i]=z[i]-l[i]*a[i-1];
}
b[n]=a[n]/beta[n];
for(int i=n-1;i>=1;i--){
b[i]=(a[i]-c[i]*b[i+1])/beta[i];
}
for(int i=1;i<=n-1;i++){
printf("%.4f ",b[i]);
}
printf("%.4f\n",b[n]);
}
return 0;
}