04 2012 档案
poj_1958_Strange Towers of Hanoi
摘要:题目大意:将汉诺塔中的3跟柱子改为4根,求盘子数为1到12时将全部盘子从第一根移动到最后一根需要移动的次数 题目分析:当柱子数为3跟时,移动次数为2^n-1.当柱子数为4的时候,可以利用2根空的柱子移动盘子,盘子数n为1,2,3时 只需按顺序移动,各需1,3,5次,4个盘子以上: (1)首先移动其中 阅读全文
posted @ 2012-04-30 21:45 pcoda 阅读(841) 评论(0) 推荐(0)
URAL_1095_Nikifor 3
摘要:题目大意:给出一个整数序列,序列中包含1,2,3,4,调换这些数字的顺序,是得到的整数能够被7整除,输出其中的一种组合即可 分析:以1,2,3,4四个数结尾的数能被7整除 4123,1324,1234,2341,1243,3421,3142 //此7个数对7取余可得到 0-6 这7个数 对于0的处理 阅读全文
posted @ 2012-04-30 17:19 pcoda 阅读(223) 评论(0) 推荐(0)
URAL_1091_Tmutarakan Exams
摘要:题目要求:给两个数k和s,在不大于s的数中找出k不想等的数,要求k个数的公约数大于1 题目分析:在不大于s的所有数中,公约数是 i (i>2)的个数为 s/i ,所以求出 i 为素数,c(s/i,k)的所有和 //(c(n,m)表示求组合数) 但是纯粹这样求出后中间就会有重复计算,例如,当k=2,s 阅读全文
posted @ 2012-04-30 13:54 pcoda 阅读(461) 评论(0) 推荐(0)
hdu_1061_Rightmost Digit
摘要:求n^n最右边的一位 找出规律即可 View Code #include<iostream> using namespace std; int main() { int T,n,ans,t; cin>>T; while(T--) { cin>>n; t=n%10; n=(n-1)%4+1; for( 阅读全文
posted @ 2012-04-30 11:11 pcoda 阅读(158) 评论(0) 推荐(0)
hdu_1060_Leftmost Digit
摘要:一个数可以表示为num=a*10^n,即科学表示法 那么num^num=10^n*a(1<a<10),两边取对数 num*log10(num)=n+log10(a); 令x=num*log10(num) 则log10(a)=x-n=x-(int)x a=10^(x-(int)x) 实际上令m=n^n 阅读全文
posted @ 2012-04-30 11:09 pcoda 阅读(123) 评论(0) 推荐(0)
poj_1852_Ants
摘要:题目大意:很多的蚂蚁都在长度为L(cm)的膀子上爬行,它们的速度都是1cm/s,到了棒子终端的时候,蚂蚁就会掉下去。如果在爬行途中遇到其他蚂蚁,两只蚂蚁的方向都会逆转。已知蚂蚁在棒子的最初位置坐标,但是我们不知道他们会往哪一个方向爬。请求出所有蚂蚁掉下去的最短时间和最长时间。 题目分析:虽然当蚂蚁数 阅读全文
posted @ 2012-04-29 15:23 pcoda 阅读(1727) 评论(0) 推荐(0)
poj3286_How many 0's?
摘要:转自http://blog.csdn.net/tsaid/article/details/7429800 比如算4123中有多少个2 按位统计,,,先算各位,,个位是2的情况有413种,,,因为各位左边可以0~412,,,而右边没有数字,,, 然后是十位,,,十位是2的有41*10 + 1*4种,, 阅读全文
posted @ 2012-04-25 18:24 pcoda 阅读(921) 评论(0) 推荐(0)
poj_1577_Falling Leaves
摘要:题目大意: 给出一个二叉树依次删除叶子结点的顺序,求出次二叉树的线序遍历 分析,主要是根据给出的删除叶子结点的顺序建立二叉树,题目有给出: 1.根节点左边的元素都比其小 2.根节点右边的元素都比其大 根据此可写出递归与非递归的程序非递归: View Code include<iostream> #i 阅读全文
posted @ 2012-04-10 20:15 pcoda 阅读(274) 评论(0) 推荐(0)