XDU-1139 猴子吃桃 II (水~斐波那契数列求和) From 西电校赛网络赛

XDU-1139 猴子吃桃 II (水~斐波那契数列求和)

题目链接
题意:若桃子无限提供,第i个猴子可分到F(i)个桃子(斐波那契数列) ,当n个桃子被猴子瓜分掉,求分到最多的猴子的位置和桃子数 (相等输出靠前) ,考虑前两种情况 a[i]+t \ a[i-1] \ a[i-2],如 n = 3,应该输出1 1

#include"iostream"
using namespace std;
long long sum,a[100],i;
void f(){
    a[0] = 0;
    a[1] = 1;
    long long sum;
    for(i=2; i<=92; i++){
        a[i] = a[i-1] + a[i-2];
//      cout<<i<<' '<<a[i]<<endl;
    }
}
int main(){
    f();
    long long t;
    while(cin>>t){
        for(i=1; i<=90; i++){
            t = t - a[i];
            if(t<=0){
                if(t+a[i]>a[i-1]){
                    cout<<i<<' '<<t+a[i]<<endl;
                    break;
                }
                else if(t+a[i]<=a[i-1] &&a[i-1]==a[i-2]){
                    cout<<i-2<<' '<<a[i-2]<<endl;
                    break;
                }
                else if(t+a[i]<=a[i-1] &&a[i-1]!=a[i-2]){
                    cout<<i-1<<' '<<a[i-1]<<endl;
                    break;
                }
            }

        }
    }
    return 0;
} 

你可能感兴趣的:(水,xdu)