题解 UVA10883 【Supermean】
ClapEcho233 · · 题解
首先这题的大概意思为:给定
这题,题面一看,瞬间想到,用模拟就好了嘛
用一个数组存数值然后一直把数组里的数改为自己与后一个的平均值 最后输出
用一个二重循环就能搞定
#include<bits/stdc++.h>//万能头
using namespace std;
double e[100001];
int r;
int main(){
int n;
scanf("%d",&n);
int k;
for(int i=1;i<=n;i++){
scanf("%d",&k);
for(int j=1;j<=k;j++){
scanf("%lf",&e[j]);//输入数据
}//重要循环↓
for(int j=k-1;j>=1;j--){//两重循环判断平均值
for(int t=1;t<=j;t++){
e[t]=(e[t]+e[t+1])/2.0;//平均值处理
}
}
printf("Case #%d: %.3f\n",i,e[1]);//输出
}
return 0;
}
本人第一次发题解,求过(^_^)