zoukankan      html  css  js  c++  java
  • 枚举法--搭积木--蓝桥杯

    有两种解法:一种不优化,就是一个全排列的问题,然后限制条件

     1 #include <iostream>
     2 #include <algorithm>
     3 using namespace std;
     4 int a[10]={0,1,2,3,4,5,6,7,8,9};
     5 int is()
     6 {
     7     if(a[0] < a[1] && a[0] < a[2] && a[1] < a[3] && a[1] < a[4] && a[2] < a[4] && a[2] < a[5] && a[3] < a[6] && a[3] < a[7] && a[4] < a[7] && a[4] < a[8] && a[5] < a[8] && a[5] < a[9])
     8     return 1;
     9     else 
    10     return 0;
    11 }
    12 int main()
    13 {
    14     
    15     int sum=0;
    16     for(int i=0;i<10*9*8*7*6*5*4*3*2;i++)
    17     {
    18         if(is())
    19         sum++;
    20         next_permutation(a,a+10);
    21     }
    22     cout<<sum;
    23     return 0;
    24 }

    解法二:优化算法

    创新点:把这个转化成二维数组,这样的话在判断时候不用把这些都都写出来,只需要把b[i][j]和b[i+1][j] 还有b[i+1][j+1]进行比较就行 一旦发现比下面的大扥情况,就返回0,退出,否则返回1

     1 #include <iostream>
     2 #include <algorithm>
     3 using namespace std;
     4 int a[10]={0,1,2,3,4,5,6,7,8,9};
     5 int is()
     6 {
     7     int b[4][4];
     8     int k=0;
     9     for(int i=0;i<4;i++)
    10     {
    11         for(int j=0;j<=i;j++)
    12         {
    13             b[i][j]=a[k++];
    14         }
    15     }
    16     for(int i=0;i<3;i++)
    17     {
    18         for(int j=0;j<=i;j++)
    19         {
    20             if(b[i][j]>=b[i+1][j]||b[i][j]>=b[i+1][j+1])
    21             {
    22                     return 0;
    23 
    24             }
    25         }
    26     }
    27         return 1;
    28 }
    29 int main()
    30 {
    31     
    32     int sum=0;
    33     for(int i=0;i<10*9*8*7*6*5*4*3*2;i++)
    34     {
    35         if(is())
    36         sum++;
    37         next_permutation(a,a+10);
    38     }
    39     cout<<sum;
    40     return 0;
    41 }
  • 相关阅读:
    元素的offset,scroll,client之间的区别和联系
    一道面试题--面向对象
    前端三大主流框架
    局部变量和成员变量
    【BZOJ1179】[Apio2009]Atm/抢掠计划
    【POJ1195】Mobile phones
    退役狗的日常
    【BZOJ1088】扫雷
    【BZOJ1717】&&【POJ3261】[Usaco2006 Dec]Milk Patterns 产奶的模式
    【BZOJ1342】Sound静音问题
  • 原文地址:https://www.cnblogs.com/jweie/p/8366353.html
Copyright © 2011-2022 走看看