[COCI2009-2010#7] COKOLADA P8072

看不懂思密达

1 comments

  • @ 2024-1-6 12:21:21

    题意:

    商店有一个2的次方的大小的巧克力c

    然后顾客要买n大小的巧克力

    求商店要拿出多大的巧克力(必须是2的次方),与切多少(t)刀才可以满足顾客

    思路:

    其实是二分算法(一半再一半)

    c通过循环(直到,c>n)求出

    通过递归模拟二分f(l,r)

    当n=l,r的一半时,递归结束,返回

    当n<l,r的一半时,递归左边,t++

    当n>l,r的一半时,递归右边,t++

    模拟:

    c=8,n=7,t=0
    
    初始:
    12345678
    
    1刀:t=1
         |
    1234   5678
    
    2刀:t=2
              |
    1234   56   78
    
    3刀:t=3
                  |
    1234   56   7   8
    
    结果:
    顾客有 1234 56 7 这几个巧克力,刚好是7个
    所以,用了8大小的巧克力,用了3刀
    
    • 1

    Information

    ID
    908
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    7
    Tags
    # Submissions
    154
    Accepted
    36
    Uploaded By