HDU-4525 威威猫系列故事——吃鸡腿
2013-11-07 18:35
246 查看
题意:给定一个正整数A,告知等比数列的公比为q,为这个序列能否超过一个特定的数K。
解法:该题需要考虑公比的取值,当q=1,q=-1,q=0的特殊性,由于等比数列的增长速度非常快,所以可以for循环扫描过去。
解法:该题需要考虑公比的取值,当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 ; 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\n", 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\n", d+1); else printf("%d\n", d); } } } return 0; }
相关文章推荐
- hdu 4525 威威猫系列故事——吃鸡腿
- 【腾讯第二届校园编程马拉松】HDU-4525,威威猫系列故事——吃鸡腿
- HDU 4525 威威猫系列故事——吃鸡腿(水题,合并递推公式就行)
- Hdu 4525 威威猫系列故事——吃鸡腿
- 【腾讯马拉松3月23日】HDU 4525_威威猫系列故事——吃鸡腿
- 【腾讯第二届校园编程马拉松】HDU-4525,威威猫系列故事——吃鸡腿
- Hdu 4525 威威猫系列故事——吃鸡腿
- HDU 4525 威威猫系列故事 (模拟)
- HDOJ4525 威威猫系列故事——吃鸡腿 (数论) && 腾讯2013编程马拉松第5场第一题
- hdu 4533 威威猫系列故事——晒被子
- HDU - 4540 威威猫系列故事——打地鼠(dp之路)
- HDU 4540 威威猫系列故事——打地鼠
- hdu_4504_威威猫系列故事——篮球梦
- HDU-4526 威威猫系列故事——拼车记 动态规划
- hdu4525威威猫系列故事——吃鸡腿
- HDU 4504 威威猫系列故事——篮球梦
- hdu 4523 威威猫系列故事——过生日 小模拟
- HDU 4540 威威猫系列故事——打地鼠 (状态压缩DP)
- hdu 4540 威威猫系列故事——打地鼠
- HDU 4526——威威猫系列故事——拼车记