zoukankan      html  css  js  c++  java
  • Ray Through Glasses

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=30506#problem/T

    题意:给你一束光,问你在一个三层的平面类传递n次的种数;

    仔细想下,就是一个fibonacci数列;

    #include<map>
    #include<set>
    #include<list>
    #include<cmath>
    #include<ctime>
    #include<deque>
    #include<stack>
    #include<bitset>
    #include<cstdio>
    #include<vector>
    #include<cstdlib>
    #include<cstring>
    #include<iomanip>
    #include<numeric>
    #include<sstream>
    #include<utility>
    #include<iostream>
    #include<algorithm>
    #include<functional>
    
    using namespace std ;
    
    vector<string> Fibs ;
    void CalFibs()
    {
    	const int maxn = 10000 ;
    	int carry , i , j  , size1 , size2 , num1 , num2 ;
    	string add1 , add2 ;
    	add1 = '1' ;
    	add2 = '2' ;
    	Fibs.push_back( add1 ) ;
    	Fibs.push_back( add2 ) ;
    	for( int k = 3 ; k <= maxn ; ++k )
    	{
    		string sum ;
    		carry = 0 ;
    		i = j = 0 ;
    		size1 = add1.size() ;
    		size2 = add2.size() ;
    		while( i < size1 || j < size2 )
    		{
    			if( i < size1 )
    			{
    				num1 = add1[ i ] - '0' ;
    				++i ;
    			}
    			else
    			{
    				num1 = 0 ;
    			}
    			if( j < size2 )
    			{
    				num2 = add2[ j ] - '0' ;
    				++ j ;
    			}
    			else
    			{
    				num2 = 0 ;
    			}
    			num1 += ( num2 + carry ) ;
    			carry = num1 / 10 ;
    			num1 %= 10 ;
    			sum.push_back( num1 + '0' ) ;
    		}
    		if( carry )
    		{
    			sum.push_back( carry + '0' ) ;
    		}
    		Fibs.push_back( sum ) ;
    		add1 = add2 ;
    		add2 = sum ;
    	}
    }
    
    int main()
    {
    	CalFibs() ;
    	int n , i ;
    	string result ;
    	while( cin >> i )
    	{
    		i += 2 ;
    		result = Fibs[ i - 1 ] ;
    		for( i = result.size() - 1 ; i >= 0 ; --i )
    		{
    			cout << result[ i ] ;
    		}
    		cout << endl ;
    	}
        return 0;
    }
    


  • 相关阅读:
    vue 实现左侧分类列表,右侧文档列表
    C# string数组与list< string >的相互转换
    c# List<string>的用法
    类数组 数组
    事件
    js封装方法和浏览器内核
    dom
    try...catch es5
    data对象 定时器
    call apply 原型 原型链
  • 原文地址:https://www.cnblogs.com/riskyer/p/3310844.html
Copyright © 2011-2022 走看看