zoukankan      html  css  js  c++  java
  • hdu5914 Triangle 【贪心】

    Triangle

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
    Total Submission(s): 1413    Accepted Submission(s): 840


    Problem Description
    Mr. Frog has n sticks, whose lengths are 1,2, 3n respectively. Wallice is a bad man, so he does not want Mr. Frog to form a triangle with three of the sticks here. He decides to steal some sticks! Output the minimal number of sticks he should steal so that Mr. Frog cannot form a triangle with
    any three of the remaining sticks.
     
    Input
    The first line contains only one integer T (T20), which indicates the number of test cases. 

    For each test case, there is only one line describing the given integer n (1n20).
     
    Output
    For each test case, output one line “Case #x: y”, where x is the case number (starting from 1), y is the minimal number of sticks Wallice should steal.
     
    Sample Input
    3 4 5 6
     
    Sample Output
    Case #1: 1 Case #2: 1 Case #3: 2 

    题意:读入n,有n个长度为1,2,3...n的木棍,问最少拿走多少根木棍,使剩下的任意两根木棍无法构成三角形。

    思路:只有剩余的数字是斐波那契数1,2,3,5,8...时,拿走的木棍数才最少,所以我们最需要用木棍总数减去此范围内斐波那契数的总数就是需要拿走的最少木棍数。这道题数据范围不大,所以我是直接循环判断,数据范围比较大的话可以考虑打表。

    #include<stdio.h>
    int main()
    {
        int first,fi,next,t,n,ans,t2=0;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&n);
            ans = 2;
            first = 1;
            next = 2;
            while(first+next <= n)
            {
                fi = next + first;
                ans ++;
                first = next;
                next = fi;
            }
            printf("Case #%d: ",++t2);
            if(n==1||n==2||n==3)
                printf("0
    ");
            else
                printf("%d
    ",n-ans);
        }
        return 0;
    }
     
     
  • 相关阅读:
    [算法练习]序列最大和
    [算法练习]最长公共子序列
    [算法练习]最长公共子串(LCS)
    [算法练习] 把字符串转换成整数
    [算法练习] 反转链表
    [算法练习] 正整数数制转换
    自己调用NTDLL函数
    [经典算法] 排列组合-N元素集合的所有子集(二)
    [经典算法] 排列组合-N元素集合的所有子集(一)
    【机器学习】主成分分析法 PCA (I)
  • 原文地址:https://www.cnblogs.com/hellocheng/p/7513418.html
Copyright © 2011-2022 走看看