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;
}
Ray Through Glasses的更多相关文章
- UVA 10334 Ray Through Glasses
自己手动画了第三项发现f[3]=5;就猜斐波那契了.实际上光线分为两种距离外界有2面玻璃,1面玻璃 其分别时n-1次反射,n-2次反射形成的 故推出斐波那契. 手动一些f1,f2,f3就OK #inc ...
- UVA题目分类
题目 Volume 0. Getting Started 开始10055 - Hashmat the Brave Warrior 10071 - Back to High School Physics ...
- UvaLA 3938 "Ray, Pass me the dishes!"
"Ray, Pass me the dishes!" Time Limit: 3000MS Memory Limit: Unkn ...
- ray与triangle/quad求交二三事
引擎中,ray与quad求交,算法未细看,但有求解二次方程,不解.ray与triangle求交,使用的是97年经典算法,仔细看过论文,多谢小武同学指点,用到了克拉默法则求解线性方程组.想模仿该方法,做 ...
- OpenCascade Ray Tracing Rendering
OpenCascade Ray Tracing Rendering eryar@163.com 摘要Abstract:OpenCascade6.7.0中引入了光线跟踪算法的实现.使用光线跟踪算法可实现 ...
- CF 676B Pyramid of Glasses[模拟]
B. Pyramid of Glasses time limit per test 1 second memory limit per test 256 megabytes input standar ...
- 【Unity3d】Ray射线初探-射线的原理及用法
http://www.xiaobao1993.com/231.html 射线是一个无穷的线,开始于origin并沿着direction方向. 当射线碰到物体后.它就会停止发射. 在屏幕中拉一个CUBE ...
- 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 ...
- 2013MPD上海6.22 PM 陆宏杰:通往卓越管理的阶梯 & 6.23AM Ray Zhang 产品创新管理的十八般武艺
MPD2天的内容,参加了5个课程,其中2个是管理的,分别是陆宏杰老师的<通往卓越管理的阶梯>和Ray Zhang大师的<产品创新管理的十八般武艺>.他们2个人都谈到了一个关于招 ...
随机推荐
- 使用Spring标签库
A.Spring标签库 Web项目若使用Spring Web MVC并使用JSP作为表现的话.从Spring2.0版本开始提供一套标签库可供使用. 使用标签库无非是易于开发,维护之类云云.这里就不阐述 ...
- ls命令显示可执行的文件 ls -F
ls命令显示可执行的文件 ls -F
- 教你看懂C++类库函数定义之一---HRESULT 宏
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:h ...
- HDU4544 湫湫系列故事――消灭兔子
HDU 4544 Tags: 数据结构,贪心 Analysis: 将兔子的血量从大到小排序,将箭的杀伤力从大到小排序,对于每一个兔子血量, 将比他大的杀伤力大的剑压入优先队列,优先队列自己重写,让它每 ...
- 【Bootstrap3.0建站笔记一】表单元素排版
1.文字和输入框前后排列: 代码: <div class="row"> <div class="col-lg-12"> <div ...
- Study notes for Sparse Coding
Sparse Coding Sparse coding is a class of unsupervised methods for learning sets of over-complete ba ...
- android软键盘的管理和属性的设置
android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性. 这个属性能影响两件事情: [一] ...
- C++ 左值 右值
最近在研究C++ 左值 右值,搬运.收集了一些别人的资料,供自己记录和学习,若以后看到了更好的解释,会继续补充.(打“?”是我自己不明白的地方 ) 参考:<Boost程序库探秘——深度解析C ...
- 关于如何实现程序一天只启动一次的想法(C++实现)
问题描述: 我们在程序开发当中,经常会遇到某些子程序需要实现一天只启动一次的功能,该功能实现的方法有很多种,其原理都是通过记录标记为来实现的.本次要分享的也是利用程序标记为来实现的,而且只需要使用一个 ...
- javascript笔记整理(函数)
javascript函数的声明和调用将完成某一特定功能的代码集合起来,可以重复使用的代码块. 一.函数的声明方式(创建) A.基本语法(function 关键字)function 函数名([参数1] ...