威威猫系列故事——吃鸡腿

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 3081    Accepted Submission(s): 637

Problem Description
  威威猫不是一只普通的猫,普通的猫喜欢吃鱼,但威威猫最喜欢吃鸡腿。他每天都在不停的吃啊吃,吃了一只又一只鸡腿。现在他遇到了一个难题,如果他的体重太胖那么他的主人就不给他吃鸡腿了,所以他需要你的帮助。
 
 威威猫的身体由n个器官构成,由于他的身体很特殊所以他的增长也很特殊(不要问为什么,喜欢吃鸡腿的猫已经够奇怪了)。他的增长有个k1和k2系数,而
且每天的增长量和前一天有关,我们假设这n个器官在第i天的数值分别是a(i,1), a(i,2), a(i,3) ……
a(i,n),那么,第i+1天他每个器官的数值就会变成:
  a(i+1,1) = k1 * a(i,1) + k2 * a(i,2)
  a(i+1,2) = k1 * a(i,2) + k2 * a(i,3)
  ......
  a(i+1,n) = k1 * a(i,n) + k2 * a(i,1)
  威威猫的体重等于他的所有器官的数值之和,并且他还拥有一个特殊的机能,就是会自动检测自己的体重,如果他的体重比K大,那么就会自动停止生长(为了每天都能吃到鸡腿),由于威威猫的特殊身体构造他的体重是可能会变成负数的。
  现在我给你n个器官的初始数值和他的增长系数k1,k2,请问他几天之后会停止生长,如果他永远无法停止生长那么就输出"inf"。(引号不用输出)
 
Input
输入数据第一行是一个正整数T,表示有T组测试数据;
每组数据的第一行包含4个数字n,k1,k2,k,代表威威猫有n个器官,他的生长系数是k1,k2,当体重超过k的时候他就停止生长。
接下来的一行是n个数ai,代表威威猫每个器官第一天的数值是多少。

[Technical Specification]
T <= 100
1 <= n <= 10000
-100 <= k1, k2 <= 100
1 <= k <= 10 ^ 18
1 <= ai <= 1000(1 <= i <= n)

 
Output
对于每组测试数据,请首先输出"Case #X: ",X代表测试用例的编号,然后输出一个数ans,代表ans天之后他会停止生长,如果不会停止就输出inf.
具体可参见sample output。
 
Sample Input
2
5 1 1 10
1 1 1 1 1
5 1 1 500
1 1 1 1 1
 
Sample Output
Case #1: 2
Case #2: 7
 
从题目中可以看出sum[i+1] = sum[i]*(k1+k2)....所以k1+k2属于[-1,1]时,无解,其余情况均有解。
#include<stdio.h>
#include<string.h>
#include <iostream>
using namespace std;
const int N = ;
double a[N],temp[N];
int main()
{
int tcase;
scanf("%d",&tcase);
int t = ;
while(tcase--){
int n;
double k1,k2,k,sum=;
scanf("%d%lf%lf%lf",&n,&k1,&k2,&k);
for(int i=;i<=n;i++){
scanf("%lf",&a[i]);
sum += a[i];
}
if(sum>k){
printf("Case #%d: 0\n",t++);
continue;
}
if(k1+k2<=&&k1+k2>=-) {
printf("Case #%d: inf\n",t++);
continue;
}
int cnt=;
while(sum<=k){
double pre = sum;
sum = sum*(k1+k2);
cnt++;
}
printf("Case #%d: ",t++);
printf("%d\n",cnt);
} return ;
}

hdu 4525(数学)的更多相关文章

  1. HDU 5984 数学期望

    对长为L的棒子随机取一点分割两部分,抛弃左边一部分,重复过程,直到长度小于d,问操作次数的期望. 区域赛的题,比较基础的概率论,我记得教材上有道很像的题,对1/len积分,$ln(L)-ln(d)+1 ...

  2. HDU 5976 数学,逆元

    1.HDU 5976 Detachment 2.题意:给一个正整数x,把x拆分成多个正整数的和,这些数不能有重复,要使这些数的积尽可能的大,输出积. 3.总结:首先我们要把数拆得尽可能小,这样积才会更 ...

  3. *HDU 2451 数学

    Simple Addition Expression Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  4. [ An Ac a Day ^_^ ] hdu 4565 数学推导+矩阵快速幂

    从今天开始就有各站网络赛了 今天是ccpc全国赛的网络赛 希望一切顺利 可以去一次吉大 希望还能去一次大连 题意: 很明确是让你求Sn=[a+sqrt(b)^n]%m 思路: 一开始以为是水题 暴力了 ...

  5. hdu 4506(数学,循环节+快速幂)

    小明系列故事——师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tot ...

  6. hdu 4432 数学杂题

    http://acm.hdu.edu.cn/showproblem.php?pid=4432 6分钟写的代码,一上午去调试,, 哎,一则题目没看懂就去写了,二则,哎,,恶心了.在坚持几天然后ACM退役 ...

  7. hdu 4811 数学 不难

    http://acm.hdu.edu.cn/showproblem.php? pid=4811 由于看到ball[0]>=2 && ball[1]>=2 && ...

  8. hdu 5288 数学 ****

    给一个序列 定义函数f(l ,r) 为区间[l ,r] 中 的数ai不是在这个区间其他任意数aj的倍数 求所有f(l,r)之和 通过预处理,记录 a[i] 的左右边界(所谓的左右边界时 在从 a[i] ...

  9. hdu 1755 数学 ***

    链接:点我 题解可以看这里:点我和这里 #include<cstdio> #include<cstring> #include<algorithm> #define ...

随机推荐

  1. 初学python来进行odoo12版本开发

    这是我的第一篇博客.请多多指教! 首先要下载odoo-12的源代码 官方下载路径:          https://github.com/odoo/odoo/archive/12.0.zip 随便新 ...

  2. Python9-MySQL数据库安装及基本操作-day42

    MySQL 单机程序(自己DB) 单机程序(共用DB)MySQL:用于管理文件的一个软件 -服务端软件 -socket服务端 -本地文件操作 -解析指令[SQL语句] -客户端软件(各种各样) -so ...

  3. A1012 The Best Rank (25)(25 分)

    A1012 The Best Rank (25)(25 分) To evaluate the performance of our first year CS majored students, we ...

  4. BFS:HDU-1242-Rescue(带守卫的迷宫问题)(优先队列)

    解题心得: 1.读清楚题意,本题的题意是有多个'r'(起点),多个r多个bfs比较最短的时间即可,但是hdoj的数据比较水,直接一个起点就行了,迷宫里有多个守卫,如果在路途中遇到守卫会多花费一个时间点 ...

  5. 问题 1936: [蓝桥杯][算法提高VIP]最大乘积

    问题 1936: [蓝桥杯][算法提高VIP]最大乘积 时间限制: 1Sec 内存限制: 128MB 提交: 77 解决: 16 题目描述 对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢? ...

  6. WebApp开发技巧

    http://www.cnblogs.com/WhiteCusp/p/4502961.html http://ju.outofmemory.cn/entry/25675 http://www.fron ...

  7. [oldboy-django][2深入django]ORM操作

    推荐学习博客:http://www.cnblogs.com/wupeiqi/articles/6216618.html 需求: 汇总django orm操作,代替原生mysql语句来操作数据库:里面内 ...

  8. 软工实践第八次作业——UML设计

    本次作业博客 团队组成 临时组长:何裕捷 组员:蔡子阳,陈德斌,胡青元,李麒,高裕翔,王焕仁,黄培鑫 UML 用例图 描述的部分: 1 这里是用户个人管理系统的用例图 面临的问题: 1 面临用户登录注 ...

  9. 【转】unity 移动物体到指定位置的四种方法

    http://blog.csdn.net/lcy0221/article/details/44040739 方法1:使用Vector3.MoveTowards </pre><pre  ...

  10. javascript原生360 开机小动画

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...