zoukankan      html  css  js  c++  java
  • [ 9.24 ]CF每日一题系列—— 468A构造递推

    Description:
      1 - n个数问你能否经过加减乘除这些运算n -1次的操作得到24

    Solutrion:
      一开始想暴力递推,发现n的范围太大直接否决,也否决了我的跑dfs,后来就像肯定有个递推规律,然后从1 - n模拟下,1-3直接no,发现4可以了,那么4 6 8 ……都可以了,就是多乘个1而已,但是模拟5的时候一时石乐志,没模拟出来,哎,就是卡脑子了,所以这个题就荣幸的写了博客

    Code

      

    /*
    写出4 和 5 的构造情况,对于后续的就是多乘个1
    */
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    void print(int x)
    {
        if(x == 4)
        {
            printf("1 * 2 = 2
    3 * 4 = 12
    2 * 12 = 24
    ");
        }
        else
        {
            printf("4 * 2 = 8
    3 * 5 = 15
    1 + 8 = 9
    9 + 15 = 24
    ");
        }
    }
    int main()
    {
        int n;
        while(~scanf("%d",&n))
        {
            if(n <= 3)
                printf("NO
    ");
            else
            {
                printf("YES
    ");
                int tim = (n - 4) / 2;
                if(n % 2 == 0)
                {
                    print(4);
                    for(int i = 5;i <= n;i+=2)
                    {
                        printf("%d - %d = 1
    ",i+1,i);
                    }
                }
                else
                {
                    print(5);
                    for(int i = 6;i <= n;i+=2)
                    {
                        printf("%d - %d = 1
    ",i+1,i);
                    }
                }
                for(int i = 0;i < tim;++i)
                {
                    printf("24 * 1 = 24
    ");
                }
            }
        }
        return 0;
    }
    
  • 相关阅读:
    各向异性的头发渲染
    Texture2DArray
    优化移动设备上的实时阴影
    半球积分
    优化 Lightmap
    传递数组到 Shader
    SLua 中使用 Lua 5.3 的编译工程
    ShadowGun Deadzone 放出 GM Kit Mod 包
    Lua 中使用面向对象(续)
    在 slua 中使用更新的面向对象方案
  • 原文地址:https://www.cnblogs.com/DF-yimeng/p/9697204.html
Copyright © 2011-2022 走看看