美文网首页
17蓝桥杯竞赛题“承压计算”

17蓝桥杯竞赛题“承压计算”

作者: ZaleJ | 来源:发表于2018-01-29 14:54 被阅读0次
图片.png

这个题。。额。。我的大致思路就是把上部分的每个砖块质量分一半,然后加在下一层的砖块上,一直加到最后一层,再根据最大和最小的关系算个比例,求出最大压力



public class JAVA17_3 {
    public static String formatFloatNumber(Double value) {
        if(value != null){
            if(value.doubleValue() != 0.00){
                java.text.DecimalFormat df = new java.text.DecimalFormat("########.00");
                return df.format(value.doubleValue());
            }else{
                return "0.00";
            }
        }
        return "";
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        double[][] allNum = new double[30][30];
        String string =
                "                             7 Z" + 
                "                            5 8 Z" + 
                "                           7 8 8 Z" + 
                "                          9 2 7 2 Z" + 
                "                         8 1 4 9 1 Z" + 
                "                        8 1 8 8 4 1 Z" + 
                "                       7 9 6 1 4 5 4 Z" + 
                "                      5 6 5 5 6 9 5 6 Z" + 
                "                     5 5 4 7 9 3 5 5 1 Z" + 
                "                    7 5 7 9 7 4 7 3 3 1 Z" + 
                "                   4 6 4 5 5 8 8 3 2 4 3 Z" + 
                "                  1 1 3 3 1 6 6 5 5 4 4 2 Z" + 
                "                 9 9 9 2 1 9 1 9 2 9 5 7 9 Z" + 
                "                4 3 3 7 7 9 3 6 1 3 8 8 3 7 Z" + 
                "               3 6 8 1 5 3 9 5 8 3 8 1 8 3 3 Z" + 
                "              8 3 2 3 3 5 5 8 5 4 2 8 6 7 6 9 Z" + 
                "             8 1 8 1 8 4 6 2 2 1 7 9 4 2 3 3 4 Z" + 
                "            2 8 4 2 2 9 9 2 8 3 4 9 6 3 9 4 6 9 Z" + 
                "           7 9 7 4 9 7 6 6 2 8 9 4 1 8 1 7 2 1 6 Z" + 
                "          9 2 8 6 4 2 7 9 5 4 1 2 5 1 7 3 9 8 3 3 Z" + 
                "         5 2 1 6 7 9 3 2 8 9 5 5 6 6 6 2 1 8 7 9 9 Z" + 
                "        6 7 1 8 8 7 5 3 6 5 4 7 3 4 6 7 8 1 3 2 7 4 Z" + 
                "       2 2 6 3 5 3 4 9 2 4 5 7 6 6 3 2 7 2 4 8 5 5 4 Z" + 
                "      7 4 4 5 8 3 3 8 1 8 6 3 2 1 6 2 6 4 6 3 8 2 9 6 Z" + 
                "     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 Z" + 
                "    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 Z" + 
                "   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 Z" + 
                "  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 Z" + 
                " 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 Z" + 
                "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ";
        
        int tag1 = 0;
        int tag2 = 0;
        for(int i = 0; i < string.length(); i++) {
            if(string.charAt(i) > '0' && string.charAt(i) <= '9') {
                allNum[tag1][tag2] = Integer.parseInt(string.charAt(i)+"");
                tag2++;
            }
            if(string.charAt(i)=='Z') {
                tag1++;
                tag2=0;
            }
        }
        
        double halfPower=0;
        for(int i = 1; i < 29; i++) {
            for(int j = 1; j <= i; j++) {
                halfPower = allNum[i-1][j-1]/2.0;
                allNum[i][j-1]+=halfPower;
                allNum[i][j] += halfPower;
            }
        }
        
        
        double MIN = Double.MAX_VALUE;
        double MAX = Double.MIN_VALUE;
        for(int i = 0; i < 29; i++) {
            if (allNum[28][i]>MAX) {
                MAX = allNum[28][i];
            }
            if (allNum[28][i]<MIN) {
                MIN = allNum[28][i];
            }
        }
        
        
        System.out.print(formatFloatNumber(2086458231*MAX/MIN));
        
//      for(double[] e:allNum) {
//          for(double r:e) {
//              System.out.print(r);
//          }
//      }
        
        
        
    }

}

最后得出结果是36668144240.00, 应该是对的

相关文章

  • 17蓝桥杯竞赛题“承压计算”

    这个题。。额。。我的大致思路就是把上部分的每个砖块质量分一半,然后加在下一层的砖块上,一直加到最后一层,再根据最大...

  • 17蓝桥杯竞赛题“取数位”

    标题:取数位 求1个整数的第k位数字有很多种方法。以下的方法就是一种。 对于题目中的测试数据,应该打印5。 请仔细...

  • 17蓝桥杯竞赛题“购物单”

    购物单 以下是让人头疼的购物单,为了保护隐私,物品名称被隐藏了。 **** 180.90 88...

  • 蓝桥杯试题——FJ的字符串

    title: 蓝桥杯试题——FJ的字符串date: 2019年2月17日20:33:05tags: 蓝桥杯试题 算...

  • [蓝桥杯]计算质因子

    题目描述 输入一个整数,输出其所有质因子。 数据规模和约定1< =n< =10000。 输入 输入只有一行,包含一...

  • 17蓝桥杯竞赛题“纸牌三角形”

    纸牌三角形 此题实在是没什么好的想法,只好强行暴力遍历了。。希望有大佬能提供更加简洁的思路 我的想法是。。将三个顶...

  • 新学期的第五周

      本周依旧是赶项目的一周,下周就要迎来蓝桥杯的考试了,所以本周我也加强了算法的联系,而蓝桥杯之后就是计算机二级的...

  • 蓝桥杯备战

    前不久接触到蓝桥杯,有一个蓝桥杯组委会的老师来我们学校宣讲,鼓励我们参赛,虽然是大一,但是对计算机编程很感兴趣,还...

  • 蓝桥杯:阶乘计算--Python解法

    问题描述 输入一个正整数n,输出n!的值。其中n!=123…n。 算法描述 n!可能很大,而计算机能表示的整数范围...

  • 【蓝桥杯 基础练习 阶乘计算】

    试题 基础练习 阶乘计算 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 输入一个正整数n,输...

网友评论

      本文标题:17蓝桥杯竞赛题“承压计算”

      本文链接:https://www.haomeiwen.com/subject/eshxzxtx.html