• 题解 UVA11000 【Bee】


    传送门

    【题目描述】

    在非洲有一种非常特殊的蜜蜂。每年,这种蜜蜂的一只雌蜂生育一只 雄蜂,而一只雄蜂生育一只雌蜂和一只雄蜂,生育后它们都会死去!现在科学家们意外地发现了这一特殊物种的一只神奇的雌蜂,她是不死的,而且仍然可以每年像其他雌蜂一样生育一次。科学家想知道在N年后会有多少蜜蜂。请写一个程序,帮助他们计算 N 年后雄蜂的数量和所有的蜜蜂总数。

    【输入】

    每个输入行包含一个整数 N(≥0),输入以 N=-1 终结(程序不必对 N=-1 进行处理。

    【输出】Bee

    输出的每行有两个数字,第一个数字是 N 年后雄蜂的数量,第二个数字是 N 年后蜜蜂的总数(这两个数字不会超过 2^31)。

    蒟蒻绑不上UVA的号,所以提交不上,但在校内oj的数据还是过了的,一道比较细节的题,注意题目范围两个数字不会超过 2^31,所以我们可以打表,O(1)回答,规律自己在纸上推下就出来了,开long long保险点。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    long long n,ans[100][3];
    int main(){
    	scanf("%lld",&n);
    	ans[0][1]=0;//ans[n][1]为第n年后雄蜂的数量
    	ans[0][2]=1;//ans[n][2]为第n年后蜜蜂的总数
    	for(int i=1;i<=50;++i){//范围自己跑下看,貌似到40几就够了,50保险点
    		ans[i][1]=ans[i-1][2];
    		ans[i][2]=ans[i-1][1]+ans[i][1]+1;
    	}
    	while(n!=-1){
    		printf("%lld %lld
    ",ans[n][1],ans[n][2]);
    		scanf("%lld",&n);
    	}
    	return 0;
    }
    
  • 相关阅读:
    分治思想
    二分查找---查找区间
    二分查找---有序数组的 Single Element
    Ogre碰撞检测
    JavaScript常用检测脚本(正则表达式)
    Js+XML 操作
    C++难点的一些总结
    MFC使用简单总结(便于以后查阅)
    vc中调用Com组件的所有方法详解
    OSG+VS2010+win7环境搭建---OsgEarth编译
  • 原文地址:https://www.cnblogs.com/donkey2603089141/p/11414654.html
Copyright © 2020-2023  润新知