ACM程序设计与竞赛作业

ACM程序设计与竞赛作业

1. 采药 2. 金字塔问题 3. 毛毛虫问题 4. Hamming Problem 5. 字符串正反连接 6. 去掉空格 7. 成绩转换 8. 金块问题 9. 工资问题

10.“水仙花数”问题 11.大小写转换 12.取数游戏 13.整除问题 14.警察抓小偷 15.n! 16.汉诺塔问题

17.猴子吃桃问题(递归)

18. A+B for Input-Output Practice (I) 19. A+B for Input-Output Practice (II)

20. A+B for Input-Output Practice (III) 21. A+B for Input-Output Practice (IV) 22.埃及分数 23.完数

24. Fibbonacci Number _Hdu 2070 25. Pakets

26. 不要62 _Hdu 2089

1问题 B: 采药

时间限制: 1 Sec 内存限制: 128 MB

提交: 87 解决: 72 [提交][状态][讨论版]

题目描述

辰辰是个很有潜能、天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。” 如果你是辰辰,你能完成这个任务吗?

输入

输入的第一行有两个整数T(1 ≤T ≤1000)和M(1≤M ≤ 100),T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的整数,分别表示采摘某株草药的时间和这株草药的价值。

输出

输出只包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。

样例输入

70 3 71 100 69 1 1 2

样例输出

3

#include \void main() {

int a[102][1002]={0}; int t,t1,m1,m,i,i1,k=1;

scanf(\ scanf(\

for(i1=1;i1<=t;i1++)//处理第一行 {

if(i1>=t1) a[k][i1]=m1; }

k++; for(i=2;i<=m;i++)

{ scanf(\ for(i1=1;i1<=t;i1++) {

if(i1

else // 可以采的情况 {

if(a[k-1][i1]>m1+a[k-1][i1-t1])

a[k][i1]=a[k-1][i1]; //采完总价值下降 else

a[k][i1]=m1+a[k-1][i1-t1];//值得采的情况; } }

k++; }

printf(\}

心得:这是一个动态规划的题目,首先定义一个二维数组,根据草药的性价比,优先采取较

高的草药,如果时间不够,则降低性价比继续采取草药,直至时间结束,根据采集的草药计算它的最大值,这题通过比较算出可能采的情况,和不能采的情况,如果能采,那再判断值不值得采,得出最优解。

2问题 A: 金字塔问题

时间限制: 1 Sec 内存限制: 128 MB

提交: 54 解决: 32 [提交][状态][讨论版]

题目描述

給一个金字塔,如上图所示,请你求出一个从塔顶到塔底的路径,要求路径经过的点的数字和最小。

例如上图所示的金字塔的最小路径为:40

输入

输入第一行是一个整数n<1000; 接下来是n行,

第一行一个数; 第二行两个数; 。。。

第n行n个数; 数之间用空格分开。 数的链接方式如图所示。

输出

一个数,就是从塔顶到塔底的路径的最小距离。

样例输入

5 9

12 15 10 6 8 3 18 9 5 19 7 10 4 16

样例输出

40

#include void main() {

int i,j,n;

int a[100][100];定义一个二维数组; scanf(\ for(i=1;i<=n;i++) for(j=1;j<=i;j++) {

scanf(\ }

for(i=n-1;i>=1;i--)

for(j=1;j<=i;j++)//从最后一行开始处理; {

if(a[i+1][j]>a[i+1][j+1]) a[i][j]=a[i][j]+a[i+1][j+1]; else

a[i][j]=a[i][j]+a[i+1][j]; //求得每次路径最小值; }

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4