字符串处理 吃鸡腿http://acm.hdu.edu.cn/showproblem.php?pid=4525

这个题目需要简化,就是上一次的和乘上(k1+k2),a1*k1+a1*k2+a2*k1+a2*k2....=sum(k1*k2)
#include <stdio.h> int main(){ int t, T, n, i; double k1, k2, k, sum;//不要忘记忽略小数 int a[10010]; scanf("%d", &T);//循环次数 for (t = 1; t <= T; t++){ scanf("%d%lf%lf%lf", &n, &k1, &k2, &k); sum = 0; for (i = 1; i <= n; i++){//求出它所有器官之和 scanf("%d", &a[i]); sum = sum + a[i]; } if (sum > k){//如果器官的初始值之和直接大于k,那么直接输出 printf("Case #%d: 0\n",t); continue; } if (k1 + k2 <= 1){//如k1加k2小于等于1,那么器官只和不可能大于k。 printf("Case #%d: inf\n", t); continue; } int ans = 0; while (1){//一直循环 ans++; sum = sum * (k1 + k2); if (sum > k)//一直到大于k时结束 break; } printf("Case #%d: %d\n", t, ans); } return 0; }

 

posted @ 2016-12-13 13:32  So-Qi  阅读(168)  评论(0编辑  收藏  举报