【蓝桥杯】承压计算**

穿越隧道

思路:和数字三角形的思路,以及摘花生的思路类似

#include <iostream>
using namespace std;
const int N = 3e3 + 10, M = 29;
double f[N][N];//开始为double 
int n;
int main()
{
  for(int i = 1; i <= M; i++){
    for(int j = 1; j <= i; j++){
      cin >> f[i][j];//需将x去掉,然后类似数字三角形的输入,来进行输入 
    }
  }
  for(int i = 2; i <= 30; i++){
    for(int j = 1; j <= i; j++){
      f[i][j] += 0.5 * f[i-1][j - 1] + 0.5 * f[i-1][j];
    }
  }
  double mi = 1e9 + 10, mx = -1;
  for(int i = 1; i <= 30; i++){
  	mi = min(mi,f[30][i]);
  	mx = max(mx,f[30][i]);
//  	printf("f[M][%d]=%.10lf\n",i,f[30][i]);
  }
//  cout <<"mi = " << mi << endl;
//  cout <<"mx = " << mx << endl;
//电子秤上称的最小的重量为mi,称的最大的重量为mx; 
//因最小电子秤的示数为2086458231,坑点。。。
//以为mi等于这串数字。。,看了题解发现是最小电子秤的显示为这个。
//  long long  p = mx * (2086458231 * 1.0 / mi);
  long long p = (mx * 1.0 / mi ) * 2086458231;
  cout << p << endl;
  return 0;
}

输入

7
5 8
7 8 8
9 2 7 2
8 1 4 9 1
8 1 8 8 4 1
7 9 6 1 4 5 4
5 6 5 5 6 9 5 6
5 5 4 7 9 3 5 5 1
7 5 7 9 7 4 7 3 3 1
4 6 4 5 5 8 8 3 2 4 3
1 1 3 3 1 6 6 5 5 4 4 2
9 9 9 2 1 9 1 9 2 9 5 7 9
4 3 3 7 7 9 3 6 1 3 8 8 3 7
3 6 8 1 5 3 9 5 8 3 8 1 8 3 3
8 3 2 3 3 5 5 8 5 4 2 8 6 7 6 9
8 1 8 1 8 4 6 2 2 1 7 9 4 2 3 3 4
2 8 4 2 2 9 9 2 8 3 4 9 6 3 9 4 6 9
7 9 7 4 9 7 6 6 2 8 9 4 1 8 1 7 2 1 6
9 2 8 6 4 2 7 9 5 4 1 2 5 1 7 3 9 8 3 3
5 2 1 6 7 9 3 2 8 9 5 5 6 6 6 2 1 8 7 9 9
6 7 1 8 8 7 5 3 6 5 4 7 3 4 6 7 8 1 3 2 7 4
2 2 6 3 5 3 4 9 2 4 5 7 6 6 3 2 7 2 4 8 5 5 4
7 4 4 5 8 3 3 8 1 8 6 3 2 1 6 2 6 4 6 3 8 2 9 6
1 2 4 1 3 3 5 3 4 9 6 3 8 6 5 9 1 5 3 2 6 8 8 5 3
2 2 7 9 3 3 2 8 6 9 8 4 4 9 5 8 2 6 3 4 8 4 9 3 8 8
7 7 7 9 7 5 2 7 9 2 5 1 9 2 6 5 3 9 3 5 7 3 5 4 2 8 9
7 7 6 6 8 7 5 5 8 2 4 7 7 4 7 2 6 9 2 1 8 2 9 8 5 7 3 6
5 9 4 5 5 7 5 5 6 3 5 3 9 5 8 9 5 4 1 2 6 1 4 3 5 3 2 4 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值