08 2012 档案

摘要:问题描述:逆波兰表达式是一种吧运算符前置的算术表达式,例如普通的表达式2+3的逆波兰表示为+23.逆波兰表达式的优点是运算符之间不必有优先级的关系,也不必有括号改变运算次序,例如(2+3)*4的逆波兰表示法为*+2 3 4.本题求解的逆波兰表达式的值。输入数据:输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。输出要求:输出为一行,即表达式的值。输入样例:* + 11.0 12.0 +24.0 35.0+输出样例:1357.000000解题思路:这个问题看上去有些复杂,如果只是简单地模拟计算步骤不太容易想清楚,但是如果用递归的思想就非常容易想清楚。这里根据逆波兰表达式的定义进行递 阅读全文
posted @ 2012-08-17 22:38 blue—— 阅读(3251) 评论(1) 推荐(0)
摘要:Time Limit:1000msMemory limit:65536kB题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出对输入的每组数据M和N,用一行输出相应的K。样例输入17 3样例输出8Global No.666解题思路:所有不同的摆放方法可以分为两类:至少有一个盘子空着和所有盘子都不空,分别计算这两类摆放方法的数目,然后把他们加起来。对于至少空着 阅读全文
posted @ 2012-08-17 21:10 blue—— 阅读(1254) 评论(0) 推荐(0)
摘要:对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3)---隐式指针的文章中我详细介绍了在隐式指针&的用法,其实这两个概念是统一的。引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更 阅读全文
posted @ 2012-08-07 16:47 blue—— 阅读(228724) 评论(24) 推荐(70)
摘要:1 #include<stdio.h> 2 int main() 3 { 4 int i,a[50]={0},n,*p,j=0,k=0; 5 scanf("%d",&n); 6 for(i=0;i<n;i++) 7 a[i]=i+1; 8 p=a; 9 while(j!=n-1)10 { if(*p!=0) k++;11 if(k==3) *p=0,j++,k=0;12 p++;13 if(p==a+n) p=a;14 }15 for(i=0;i<n;i++)16 if(... 阅读全文
posted @ 2012-08-04 21:48 blue—— 阅读(258) 评论(0) 推荐(0)