• HDU-4525 威威猫系列故事——吃鸡腿


    题意:给定一个正整数A,告知等比数列的公比为q,为这个序列能否超过一个特定的数K。

    解法:该题需要考虑公比的取值,当q=1,q=-1,q=0的特殊性,由于等比数列的增长速度非常快,所以可以for循环扫描过去。

    #include <cmath>
    #include <cstring>
    #include <cstdio>
    #include <cstdlib>
    #include <algorithm>
    #include <iostream>
    using namespace std;
    
    typedef long long LL;
    const int N = 10005;
    int n;
    int seq[N];
    int k1, k2;
    LL K;
    
    int main() {
        int T, ca = 0;
        scanf("%d", &T);
        while (T--) {
            LL sum = 0;
            int c;
            scanf("%d %d %d %I64d", &n, &k1, &k2, &K);
            for (int i = 0; i < n; ++i) {
                scanf("%d", &c);
                sum += c;
            }
            printf("Case #%d: ", ++ca);
            if (sum > K) {
                puts("0");
                continue;
            }
            int k3 = k1 + k2;
            if (k3 >= 0) {
                if (k3 <= 1) {
                    puts("inf");
                } else {
                    int d = 1;
                    while ((long double)1.0*sum <= (long double)1.0*K/k3) ++d, sum*=k3;
                    printf("%d
    ", d);
                }
            } else {
                if (k3 == -1) {
                    puts("inf");
                } else {
                    k3 *= -1;
                    int d = 1;
                    while ((long double)1.0*sum <= (long double)1.0*K/k3) ++d, sum*=k3;
                    if (d & 1) printf("%d
    ", d+1);
                    else printf("%d
    ", d);
                }
            }
        }
        return 0;
    }
  • 相关阅读:
    归并排序
    希尔排序和插入排序的关系
    相对路径与绝对路径
    httpservlet类中两个service方法
    假如生活欺骗了你
    循环队列判满和判空的两种方式
    并查集,带权,水题PKOJ1703
    字典树HDU1251
    POJ食物链,并查集,包含种类的分部
    HDU1043逆向bfs打表
  • 原文地址:https://www.cnblogs.com/Lyush/p/3413017.html
Copyright © 2020-2023  润新知