P1487 失落的成绩单

Posted mysh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1487 失落的成绩单相关的知识,希望对你有一定的参考价值。

题目背景

谁都知道,录成绩是件麻烦事,可MC却把成绩单丢了……

题目描述

这一天老师要查第m个同学的成绩,为了不挨批-),MC努力回想,想起成绩单上的一个规律:

若把成绩看作是一个实数数列,则Ai=((Ai-1)-(Ai+1))/2+d,(就是每一项为其前后两项之差除以二再加d)。此时,我告诉了MC一共N项的数列首项A1和末项An,以及d。剩下的靠你了!

输入格式

第一行是N(N<60),m

第二行依次是d,A1,An

输出格式

Am(保留三位小数)

输入输出样例

输入 #1
53 23

0.543 1.213 9768.134

输出 #1
0.543

说明/提示

各个测试点1s

不要支着脑袋空想^-^

思路

代码

#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;

const double eps=1e-12;

int n,m;
double d,a[110],an;

bool check() 
	for(int i=3; i<=n; i++)
		a[i]=a[i-2]-2*(a[i-1]-d);
	return a[n]>=an;


int main () 
	scanf("%d%d",&n,&m);
	scanf("%lf%lf%lf",&d,&a[1],&an);
	double l=-1e12,r=1e12;
	while(r-l>eps) 
		a[2]=(l+r)/2;
		if(check()) 
			if(n&1)
				l=a[2];
			else
				r=a[2];
		 else 
			if(n&1)
				r=a[2];
			else
				l=a[2];
		
	
	printf("%.3lf\n",a[m]);
	return 0;

 

以上是关于P1487 失落的成绩单的主要内容,如果未能解决你的问题,请参考以下文章

个人总结

SQL语句查询每个学生的学号、姓名、平均成绩、最高成绩和最低成绩

大学期末考试成绩怎么算。平时成绩占20%期末80%

给定一名学生的某门课的成绩,用JavaScript的switch语句对成绩进行判断

学生成绩管理程序

SQL语句如何查询成绩的前三名带成绩重复的