牛客编程巅峰赛S2第2场 - 钻石&王者 A-牛牛切木棒

牛牛切木棒

https://ac.nowcoder.com/acm/contest/9224/A

A牛牛切木棒
这格式真难调

分析

众所周知,假设图片说明 是三角形的三条边,那么一定满足任意两条边之和大于第三条边。假设我们把当前的长度为a的线段分成了p段,从小到大分别为图片说明 ,那么如果不能构成三角形,一定满足图片说明 ,因为要尽可能多的分段,那么就得尽可能的小。那就可以直接把b数组预处理出来,能分则分,同时记录一个变量表示分的段数

代码

class Solution {
public:
    /**
     * 
     * @param a long长整型 木棒的长度
     * @return int整型
     */
    long long f[70]={1,1};
    int stick(long long a) {
        // write code here
        for (int i=2;i<64;i++) f[i]=f[i-1]+f[i-2];
        int cnt=0,now=0;
        while(a>=f[now]) now++,cnt++,a-=f[now-1];

        return cnt;
    }
};
比赛题解 文章被收录于专栏

牛客IOI周赛,团队赛,练习赛,挑战赛,各种模拟赛的部分题解

全部评论
public static int stick (long a) { // write code here if(a == 3) return 0; long p = 0; long q = 1; long r = 1; long sum = 2; int count = 2; while(true){ p = q; q = r; r = p+q; sum += r; count ++; if(sum>=a) break; } return count; }
1 回复 分享
发布于 2020-11-20 21:06
就这就这?????
1 回复 分享
发布于 2020-11-20 21:40
你好,我想问一下,这个数组应该是一个斐波那契数列啊,我想错了嘛,按理说能通过的啊
点赞 回复 分享
发布于 2020-11-20 21:03
马上,我看看
点赞 回复 分享
发布于 2020-11-20 21:04
我就是用斐波那契做的第二题。最后做来了,差一秒!!!!!! 不应该洗澡的。
点赞 回复 分享
发布于 2020-11-20 21:09

相关推荐

我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
13 3 评论
分享
牛客网
牛客企业服务