随笔分类 -  自己的编程实践

蓝桥杯输出三角递增针
摘要:1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 int a[100][100]; 5 int main() 6 { 7 int i,k,m,n,cnt; 8 while(~scanf("%d",&n)){ 9 cnt=1;10 memset(a,0,sizeof(a));11 for(k=1; k<=(n+2)/3; k++)12 {13 for(i=k;i<=n-k;i++)14 ... 阅读全文

posted @ 2013-04-26 17:01 小花熊 阅读(191) 评论(0) 推荐(0) 编辑

第二届河南省大学生程序设计竞赛 Dr.Kong的机器人
摘要:Dr.Kong的机器人Dr.Kong设计了一个可以前进或后退机器人,该机器人在每个位置i会得到一个移动步数的指令Ki (i=1,2„N),聪明的机器人自己会判断是要前进Ki步还是后退Ki步。例如:给定指令序列(3 3 1 2 5),表示机器人在第1个位置时,可以前进3步到第4个位置,此时后退是不起作用的,出界;机器人在第2个位置时,可以前进3步到第5个位置,此时后退是不起作用的,出界;机器人在第3个位置时,可以前进1步到第4个位置,也可以后退1步到第2个位置等等。你认为,对给定的两个位置A,B, 聪明的机器人从A位置走到B位置至少要判断几次?【标准输入】第一行: M 表示以下有M组测试数据(0 阅读全文

posted @ 2013-04-25 21:19 小花熊 阅读(323) 评论(0) 推荐(0) 编辑

第二届河南省大学生程序设计竞赛 奇特的艺术品
摘要:奇特的艺术品Dr.Kong设计了一件艺术品,该艺术品由N个构件堆叠而成,N个构件从高到低按层编号依次为1,2,„„,N。艺术品展出后,引起了强烈的反映。Dr.Kong观察到,人们尤其对作品的高端部分评价甚多。狂热的Dr.Kong一激动,对组成该艺术品的N个构件重新组合,比如:把第6层到第12层的构件搬下来,想一想,然后整体放到剩下构件的第7层下面;过一会儿,又把第2层到第9层的构件搬下来,整体放到剩下构件的第1层下面等等。于是,Dr.Kong在进行了连续若干次“搬来搬去”后,还是这N个构件,又诞生了一件新的艺术品。编程:请输出新的艺术品最高十层构件的编号。【标准输入】第一行: N K 表示构件 阅读全文

posted @ 2013-04-25 21:16 小花熊 阅读(245) 评论(0) 推荐(0) 编辑

第二届河南省大学生程序设计竞赛 试题4 壮观的瓷器广场
摘要:【试题四】壮观的瓷器广场【问题描述】最近,某瓷都为了体现“千年瓷都” 的风貌,将要建立一个壮观的瓷器广场迎接来自各国的宾客。,顾问Dr.Kong提出了一项建议:在巨大的广场南面展示N件高度不等的瓷器灯柱。夜间,这些瓷器灯柱逐一闪亮,由低至高,如此场景必将十分的绚丽夺目。然而,在瓷器灯柱运来安放后,Dr.Kong才发现粗心的工人并没有按照从低到高的顺序安放瓷器灯柱。由于瓷器灯柱已经竖立起来,不可能全部推倒重新安放,人力又搬不动。因此,Dr.Kong只能借助巨型吊车每次将两个瓷器灯柱的位置小心翼翼地进行交换。 例如,有3个瓷器灯柱初始时高度顺序是:3 1 2。可以先用吊车交换后两个灯柱的位置,得到 阅读全文

posted @ 2013-04-25 21:12 小花熊 阅读(226) 评论(0) 推荐(0) 编辑

最长公共上升子序列
摘要:最长公共上升子序列(LCIS)的O(n^2)算法预备知识:动态规划的基本思想,LCS,LIS。问题:字符串a,字符串b,求a和b的LCIS(最长公共上升子序列)。首先我们可以看到,这个问题具有相当多的重叠子问题。于是我们想到用DP搞。DP的首要任务是什么?定义状态。1定义状态F[i][j]表示以a串的前i个字符b串的前j个字符且以b[j]为结尾构成的LCIS的长度。为什么是这个而不是其他的状态定义?最重要的原因是我只会这个,还有一个原因是我知道这个定义能搞到平方的算法。而我这只会这个的原因是,这个状态定义实在是太好用了。这一点我后面再说。我们来考察一下这个这个状态。思考这个状态能转移到哪些状态 阅读全文

posted @ 2013-04-19 22:29 小花熊 阅读(211) 评论(0) 推荐(0) 编辑

最少硬币问题
摘要:1132: 最少硬币问题Time Limit: 1500 ms Memory Limit: 10000 kB Total Submit : 892(185 users)Accepted Submit : 240(131 users)Page View : 8986Font Style: Aa Aa Aa 设有n 种不同面值的硬币,各硬币的面值存于数组T[1:n]中。现要用这些面值的硬币来找钱。可以使用的各种面值的硬币个数存于数组Coins[1:n]中。对任意钱数0≤m≤20001,设计一个用最少硬币找钱m的方法。编程任务:对于给定的1≤n≤10,硬币面值数组T和可以使用的各种面值的硬币个数数. 阅读全文

posted @ 2013-04-13 22:14 小花熊 阅读(3697) 评论(0) 推荐(1) 编辑

删数字
摘要:1 #include<stdio.h> 2 int main() 3 { 4 int i,n,num,tail,head; 5 char q[100],s[100]; 6 while(~scanf("%s%d",s,&n)){ 7 tail=head=num=i=0; 8 q[tail++]=s[i++]; 9 while(s[i]){10 if(s[i]>q[tail-1]||num>=n)11 q[tail++]=s[i++];12 el... 阅读全文

posted @ 2012-08-23 16:36 小花熊 阅读(161) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示