本文主要是介绍【北师校赛】B 数细菌,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:bnu
题目分析:一般的数学吧,签到题目,注意输出10位小数,lz就是因为用cout<<ans<<endl; 所以一直wa
用线段图分析吧,一般将细菌分为两个阶段 初生态(设为a),和分裂态 (设为A)
在任意一时态都存在至少有2个态,我们分别设个数为 x个和 y 个
a = x + y;
b = x + 3*y;
然后分别求出其奇偶,最后注意奇偶!
题目小结:log为自然对数,log10()才是以10为底
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
long long a,b,n,y,x;
double ans;
int main()
{int t;cin>>t;while(t--){scanf("%lld%lld%lld",&a,&b,&n);y = (b-a)/2;x= a - y;//if(y==0||x==0)// ans = n/2*log10(3)+log10(a);if(n&1)ans = (n/2)*log10(3.0) + log10(a*1.0);elseans = (n/2-1)*log10(3.0) + log10(b*1.0);printf("%0.10lf\n",ans);}return 0;
}
这篇关于【北师校赛】B 数细菌的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!