1841: so easy!麻麻再也不用担心我的数学了!
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 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;
}