2017年蓝桥杯省赛-承压计算

题目

题目链接

题解

动态规划。


f[i][j]表示第i行第j列承受的重量(含第i行第j列物品的重量)
转移方程:f[i][j] = f[i-1][j]/2 + f[i-1][j-1]/2,即左肩物品重量的一半+右肩物品重量的一半+自身重量,如果左肩或右肩没有物品,则相当于扛着重量为0的物品。

最后根据比例算出最重称重显示多少即可。


又是思考如何处理浮点数想了半天,最后发现只要改个double就行。

代码

                             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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#include
using namespace std;
typedef unsigned long long LL;
const int N = 30;
const double MIN = 2086458231;
double f[N][N], mx = 0, mn = 1e9;

int main()
{
	
	for (int i = 1;i <= N;i ++)
		for (int j = 1;j <= i;j ++) {
			cin >> f[i][j];
			f[i][j] += f[i-1][j-1]/2 + f[i-1][j]/2;
		}
	
	for (int j = 1;j <= N;j ++) {
		mx = max (mx, f[N][j]);
		mn = min (mn, f[N][j]);
	}	
	
	LL ans = (MIN / mn * mx);
	cout << ans << endl;
	
	
	return 0;
}

你可能感兴趣的:(#,【蓝桥杯普及】,#,【动态规划】,蓝桥杯,c++,算法)