zzulioj 1841: so easy!麻麻再也不用担心我的数学了! 【规律】

1841: so easy!麻麻再也不用担心我的数学了!

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 25   Solved: 13

Submit Status Web Board

Description

咱们来一发so easy的数学题,这样麻麻再也不用担心我们的数学不及格了。
现在给你一个方程A[i] = (A[i-1]+A[i+1])/2 - c[i](1 <= i <= n);, 然后给你A[0]和A[n+1]
求A[1] = ?。

Input

包括多个测试样例。
对于每一个实例,第一行输入一个正整数n(1 <= n <= 3000),第二行输入两个实数A[0], A[n+1],接下来每一行输入一个实数c[i](1 <= i <= n)。

Output

对于每个测试实例,用一行输出所求得的a1(保留2位小数).

Sample Input

1
50 25
10
2
50 25
10 20

Sample Output

27.50
15.00


有意思的题目,规律a[1] = (n*a[0] + a[n+1] - 2*c[n] - 4*c[n-1] -... -n*2*c[1]) / (n+1)。


AC代码:


#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <algorithm>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <vector>
#define INF 0x3f3f3f
#define eps 1e-8
#define MAXN (3000+1)
#define MAXM (100000)
#define Ri(a) scanf("%d", &a)
#define Rl(a) scanf("%lld", &a)
#define Rf(a) scanf("%lf", &a)
#define Rs(a) scanf("%s", a)
#define Pi(a) printf("%d\n", (a))
#define Pf(a) printf("%.2lf\n", (a))
#define Pl(a) printf("%lld\n", (a))
#define Ps(a) printf("%s\n", (a))
#define W(a) while(a--)
#define CLR(a, b) memset(a, (b), sizeof(a))
#define MOD 1000000007
#define LL long long
#define lson o<<1, l, mid
#define rson o<<1|1, mid+1, r
#define ll o<<1
#define rr o<<1|1
using namespace std;
double c[MAXN];
int main()
{
    int n;
    while(Ri(n) != EOF)
    {
        double a, b;
        scanf("%lf%lf", &a, &b);
        double ans = 0;
        for(int i = 1; i <= n; i++)
            Rf(c[i]);
        int k = 2;
        for(int i = n; i >= 1; i--)
        {
            ans += k * c[i];
            k += 2;
        }
        Pf((n*a+b-ans)/(n+1));
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值