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;
}

Ray Through Glasses的更多相关文章

  1. UVA 10334 Ray Through Glasses

    自己手动画了第三项发现f[3]=5;就猜斐波那契了.实际上光线分为两种距离外界有2面玻璃,1面玻璃 其分别时n-1次反射,n-2次反射形成的 故推出斐波那契. 手动一些f1,f2,f3就OK #inc ...

  2. UVA题目分类

    题目 Volume 0. Getting Started 开始10055 - Hashmat the Brave Warrior 10071 - Back to High School Physics ...

  3. UvaLA 3938 "Ray, Pass me the dishes!"

                            "Ray, Pass me the dishes!" Time Limit: 3000MS   Memory Limit: Unkn ...

  4. ray与triangle/quad求交二三事

    引擎中,ray与quad求交,算法未细看,但有求解二次方程,不解.ray与triangle求交,使用的是97年经典算法,仔细看过论文,多谢小武同学指点,用到了克拉默法则求解线性方程组.想模仿该方法,做 ...

  5. OpenCascade Ray Tracing Rendering

    OpenCascade Ray Tracing Rendering eryar@163.com 摘要Abstract:OpenCascade6.7.0中引入了光线跟踪算法的实现.使用光线跟踪算法可实现 ...

  6. CF 676B Pyramid of Glasses[模拟]

    B. Pyramid of Glasses time limit per test 1 second memory limit per test 256 megabytes input standar ...

  7. 【Unity3d】Ray射线初探-射线的原理及用法

    http://www.xiaobao1993.com/231.html 射线是一个无穷的线,开始于origin并沿着direction方向. 当射线碰到物体后.它就会停止发射. 在屏幕中拉一个CUBE ...

  8. Load Mental Ray in Maya 2015

    In Maya 2015, we usually use mental ray to render our model, some new users may not see the mental r ...

  9. 2013MPD上海6.22 PM 陆宏杰:通往卓越管理的阶梯 & 6.23AM Ray Zhang 产品创新管理的十八般武艺

    MPD2天的内容,参加了5个课程,其中2个是管理的,分别是陆宏杰老师的<通往卓越管理的阶梯>和Ray Zhang大师的<产品创新管理的十八般武艺>.他们2个人都谈到了一个关于招 ...

随机推荐

  1. 演练5-5:Contoso大学校园管理系统5

    Contoso University示例网站演示如何使用Entity Framework 5创建ASP.NET MVC 4应用程序. Entity Framework有三种处理数据的方式:  Data ...

  2. 总结:js中4类修改样式的方法

    前言 最近在写一个扩展右键菜单的插件,既然是插件,想着一步到位,把相关的style样式设置都丢进js文件中,直接加载一个js文件便可以使用该插件,所以今天就研究了下js批量的插入样式的方法,即addS ...

  3. Python:渗透测试开源项目

    Python:渗透测试开源项目[源码值得精读] sql注入工具:sqlmap DNS安全监测:DNSRecon 暴力破解测试工具:patator XSS漏洞利用工具:XSSer Web服务器压力测试工 ...

  4. codeforces 316F3 Suns and Rays

    题目在此 找出中有多少个太阳以及每个太阳的散发线段. 算法 原图: 将图"缩小",如果一个白点的四周有黑点,那么把这个白点变成黑点: 将图"放大",即上述&qu ...

  5. 八:Java之I/O

    一.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java全部的I/O机制都是基于数据流进行输入输出.这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读 ...

  6. Java_1Lesson

    cmd使用 进入硬盘分区:D: E: F: 查看目录 dir 进入文件夹 “cd 文件名” .使用javac编译器编译运行. Javac 文件名 运行java程序 Java 文件名 第一个程序 pub ...

  7. 50个Android开发技巧(11 为文字加入特效)

    问题:怎样构建一个模拟LED数字时钟的页面?效果例如以下图所看到的: (原文地址:http://blog.csdn.net/vector_yi/article/details/24460227) 分析 ...

  8. WinFrom - DataGridView控件右键选中记录并弹出菜单

    dataGridView右键菜单并选中该行 程序代码: private void dataGridView1_CellMouseDown(object sender, DataGridViewCell ...

  9. linux脚本:shell, 判断输入参数的个数(命令行)

    if [ $# != 3 ] ; thenecho "USAGE: $0 from to"echo " e.g.: $0 ~/oucaijun/from ~/oucaij ...

  10. Linux下编译Qt源码,一定要下载tar.gz版本,否则会报权限不足

    首先下载qt-everywhere-opensource-src-4.8.1源码,下载地址: ftp://ftp.qt-project.org/qt/source/ 在Linux下编译一定要下载qt- ...