
算法
花无名v5
自强不息。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序算法分析
(1)冒泡排序:排序是从后往前排的,先将最后一个数确定再一次向前。冒泡就是像冒水泡一样,只不过是从上往下冒的第一次冒到下边后第二次之能冒到第一次的上一个位置。然后一次递减。int main(){ int a[10]; int i,j; for(i=0;i scanf("%d",&a[i]); for(i=0;i原创 2014-11-08 11:05:07 · 361 阅读 · 0 评论 -
排序算法(1)——看最多节目
Description“今年暑假不AC?” “是的。” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。 作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目原创 2014-11-08 22:42:29 · 1052 阅读 · 0 评论 -
The number of ponds——DFS
SubmitStatusDescriptionDue to recent rains, water has pooled in various places in Farmer John's field, which is represented by a rectangle of N x M (1 <= N <= 100; 1 <= M <= 100) squares. Ea原创 2014-11-11 17:51:15 · 652 阅读 · 0 评论 -
Satellite photographs——DFS
地址:http://acm.swust.edu.cn/problem/0001/原创 2014-11-15 10:51:06 · 566 阅读 · 0 评论 -
日期计算——判断
地址:http://acm.swust.edu.cn/problem/0066/原创 2014-11-15 20:33:53 · 474 阅读 · 0 评论 -
找零钱——贪心
现在有1,2,5,10,20,50,100面值的人名币若干。你的任务就是用最少的张数来找钱。如需要找23元,我们用一张20,一张2元,一张1元即可。所以3张就是最少的张数。Description输入多组数据,第一行n(n =0);Input输出每组最少的张数Output1234223原创 2014-11-17 20:51:41 · 893 阅读 · 0 评论 -
Mouse's trade——贪心
地址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=63499#problem/A原创 2014-11-18 17:11:38 · 441 阅读 · 0 评论 -
Robot——简单模拟
地址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=64128#problem/BA robot has been programmed to follow the instructions in its path. Instructions for the next direction the robot is to原创 2014-11-23 11:22:36 · 564 阅读 · 0 评论 -
大整数加法
地址:http://acm.swust.edu.cn/problem/434这个题主要是运用字符数组,从两个数组的最后一位进行相加,和如果大于9就要向前进位,所以除了要输入的两个数组外还要有一个存储和的数组,且这个数组的大小要大于输入的最大的数组。#include#includechar str3[3001];int main(){ i原创 2014-12-05 18:44:52 · 465 阅读 · 0 评论 -
猴子报数
地址:http://acm.swust.edu.cn/problem/142/这个题可以用数组就行操作,将每一次退出的猴子依次放到另一个数组中,最后再输出。#include#includeint main(){ int N; while(scanf("%d",&N)!=EOF) { int ar原创 2014-12-18 21:50:25 · 685 阅读 · 0 评论 -
字符加密
地址:http://acm.swust.edu.cn/problem/571/这个题只要按照题中意思转换,加好判断条件就可以了。不过咱们学校oj无法用gets();而且用scanf不能输入空格,所以用fgets();函数,需要注意这个函数后边有 \n\0两个字符,所以 i #include#includeintmain(){charstr[原创 2014-12-18 22:12:44 · 461 阅读 · 1 评论 -
成绩排序
DescriptionExcel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。 Input测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有 N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学原创 2014-11-07 22:44:42 · 482 阅读 · 0 评论 -
中缀变后缀
中缀表达式转换为后缀表达式(1042)Time limit(ms): 1000Memory limit(kb): 10000Submission: 149Accepted: 27Accepted中缀表达式是一个通用的算术或逻辑公式表示方法,操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式...原创 2015-04-10 19:35:51 · 1483 阅读 · 1 评论 -
后缀表达式计算
利用栈完成后缀表达式的计算(1043)Time limit(ms): 1000Memory limit(kb): 10000Submission: 384Accepted: 235Accepted后缀表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑原创 2015-04-10 18:04:33 · 2277 阅读 · 0 评论 -
蓝桥杯9题----交换瓶子
有N个瓶子,编号 1 ~ N,放在架子上。比如有5个瓶子:2 1 3 5 4要求每次拿起2个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换2次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式为两行:第一行: 一个正整数N(N第二行:N个正整数,用空格分开,表示瓶子目前的排列情况。输原创 2016-03-20 23:10:24 · 2488 阅读 · 1 评论 -
折半查找
编写程序实现折半查找算法。Description第一行是查找表的长度n 第二行是查找表中的数据元素 ; 第三行是要查找的数据元素的关键字.Input查找成功返回位序,不成功返回-1 ,第二行为比较的次数。Output123115 13 19 21 37 56 64 75 80 8原创 2015-06-11 08:45:05 · 813 阅读 · 0 评论 -
希尔排序
编程实现希尔排序算法,按照非递减排序,测试数据为整数。Description第一行是待排序数据元素的个数n;第二行是待排序的数据元素。Input一趟希尔排序后的结果。Output1231050 36 41 19 23 4 20 18 12 22原创 2015-06-02 20:51:31 · 663 阅读 · 0 评论 -
dfs--查连通分量
假设无向图G采用邻接矩阵存储,编写一个算法求连通分量的个数并输出各连通分量的顶点集。Description第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示不邻接。Input无向图的各连通分量的顶点集及连通分量的个数。前面行为各连通分量的顶点原创 2015-06-02 14:23:18 · 1350 阅读 · 0 评论 -
dfs--根节点
若有向图中存在一个顶点v,从v可以通过路径到达图中其他所有顶点,那么称v为该有向图的根。假设图G采用邻接矩阵存储,求有向图的所有根。Description第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。Input有向图的所有根。Output原创 2015-06-01 20:47:49 · 768 阅读 · 0 评论 -
邻接表转邻接矩阵
假设无向图G采用邻接矩阵存储,编写一个算法输出邻接表。Description第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示邻接。Input输出图G的邻接表。第一行表示顶点0可直接到达的顶点编号。其他行定义相同。Output原创 2015-05-20 19:13:21 · 2337 阅读 · 0 评论 -
计算二叉树宽度——层次遍历
统计利用先序遍历创建的二叉树叶结点的个数(0973)Time limit(ms): 1000Memory limit(kb): 10000Submission: 1268Accepted: 862Accepted利用先序递归遍历算法创建二叉树并计算该二叉树叶结点的个数。先序递归遍历建立二叉树的方法为:按原创 2015-04-28 21:01:18 · 4117 阅读 · 0 评论 -
归并排序
合并排序(0446)Time limit(ms): 1000Memory limit(kb): 65535Submission: 1362Accepted: 292Accepted这是一个很简单的排序题目. 为了锻炼大家对不同算法的了解,请大家用归并排序法对此题进行解答. 对一组整数数列A[1]原创 2015-04-15 21:49:03 · 967 阅读 · 0 评论 -
01背包
题意叙述:总共有N件物品,一个背包总空间为V,物品标号1~n,第 i 物品对应占空间room,价值weight。现向其中放入物品,问可以放入的最大价值。#includestruct bag{int room;int weight;};//room 是每一个占的空间,weight是每一个个的价值int main(){struct bag arr[100原创 2014-12-20 17:05:57 · 400 阅读 · 0 评论 -
300 方程式
地址:http://acm.swust.edu.cn/problem/0300/题意 a*x1*x1+b*x2*x2+c*x3*x3+d*x4*x4=0 根据abcd的范围,求(x1,x2,x3,x4)一共有多少组#include#includeint arr1[1000010],arr2[1000010];int main(){int a,b,c,d;while(原创 2014-12-24 11:47:33 · 518 阅读 · 0 评论 -
237 Calculate Sum-Of-Absolute-Differences
地址:http://acm.swust.edu.cn/problem/0237/这个题主要是时限的问题,如果用2重循环一定超时,所以要找数字之间的关系。#include#include#include#includeusing namespace std;int main(){void result(int a[],int n);int N;while(原创 2014-12-24 18:32:27 · 1250 阅读 · 0 评论 -
购物清单
当你去消费时,你会在一个很长的货架上找你需要的东西。由于你只记得部分的关键词,这样就会有很多备用物品供你去选择。现在给出所有的商品名,和你记得的关键字,设计一个程序找出拥有这些关键字的产品的个数。Description只有一个测试用例,首先输入一个正整数P(1 ≤ P ≤10000),代表了所有产品的总数,接下来是P行字符串(军事小写,长度不超过20个字符)。然后输入一个正整数原创 2015-01-10 19:03:24 · 1006 阅读 · 0 评论 -
塑身菜单
从现在开始,拟定属于你自己的健康饮食方案吧! 一份全新的健康饮食计划,将会使你浑身充满活力。如果长时间坚持这样的饮食,那么不仅你患疾病的几率降低,而且还会比预期寿命延长15 年。当然,随之而来的,还有你一直向往的好身材。假设供选择的菜单如下:每份热量单位:大卡/100 克假设供选择的菜单如下:每份热量单位:大卡/100 克Boiled Fish with原创 2015-01-11 09:50:19 · 672 阅读 · 0 评论 -
线性链表的储存
建立长度为n的线性表的链表类LinList,长度n通过和n个数据元素通过cin输入。 要求: 1)调用Insert函数,建立长度为n的链表A, 2)建立长度为m的链表B,并编写函数实现单链表类LinList的对象B连接到单链表类LinList的对象A的尾部:Void Concatenate(LinList& A, LinList& B)。并输出链接后的链表的所有数据元素。Descripti原创 2015-01-11 10:21:17 · 767 阅读 · 0 评论 -
气球
Contest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When the contest is over, they will cou原创 2015-01-16 11:41:28 · 513 阅读 · 0 评论 -
最大字符
对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。INPUT输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。OUTPUT对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。SAMPLE INP原创 2015-01-16 16:21:38 · 1287 阅读 · 0 评论 -
求最小公倍数
Description求n个数的最小公倍数。INPUT输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。OUTPUT为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。SAMPLE INPUT2 4 63 2 5 7SAMPLE OUTPUT1270#include原创 2015-02-11 13:20:34 · 656 阅读 · 0 评论 -
求最大公约数
直接用一个循环num1 num2for(i=1;i{if(num1%i==0 && num2%i==0)yue=i;}但是消耗时间所以可以用下面这个方法,以递归实现int yue(int a,int b){return a%b==0?b:yue(b,a%b);}原创 2015-02-12 17:57:45 · 648 阅读 · 0 评论 -
pow log memset函数
1、计算一个数是几位数:可以用log10(N)+1;这个函数,其重载形式是 double res;int N;res=log10((double)N)+1;应该注意数据都是double类型的。2、memset 函数:这个函数赋值的时候是按字节来赋值的,例如Int arr[110][110];memset(arr,1,sizeof(int));这样数组原创 2015-03-11 19:58:13 · 849 阅读 · 0 评论 -
求最大连续和——dp
输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:序列:-2 11 -4 13 -5 -2,则最大子序列和为20。序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16#includeint main(){ void res(int num[],int n); in原创 2015-03-13 19:19:40 · 696 阅读 · 0 评论 -
线性表逆置
建立长度为n的顺序表,然后将表中的数据元素逆置,即若表中原来的数据元素序列为(a0,a1,a2,…,an),则逆置后的数据元素序列为(an,an-1,an-2,…,a1,a0)。(数据类型为字符型)Description第一行为顺序表的长度n;第二行为顺序表中的数据元素;Input输出为逆置后的顺序表Output1原创 2015-03-21 19:34:23 · 3700 阅读 · 1 评论 -
交换算法
交换排序算法的设计与实现(1014)Time limit(ms): 1000Memory limit(kb): 10000Submission: 1314Accepted: 468Accepted编程实现冒泡排序和快速排序算法,按照非递减排序,测试数据为整数。Description第原创 2015-03-28 09:31:08 · 542 阅读 · 0 评论 -
双链表比较大小
双向链表的操作问题(0960)Time limit(ms): 1000Memory limit(kb): 10000Submission: 1559Accepted: 778Accepted建立一个长度为n的带头结点的双向链表,使得该链表中的数据元素递增有序排列。(必须使用双向链表完成,数据类型为整型。原创 2015-03-27 15:50:26 · 1659 阅读 · 0 评论 -
最少个数——dp
我们有面值1,元,3元,5元的硬币若干,如何用最少的硬币数凑出11元。#include#includeint main(){ void DP(int money[],int item,int num); int item; while(scanf("%d",&item)!=EOF) { int money[5];原创 2015-03-19 14:52:27 · 456 阅读 · 0 评论 -
福布斯富豪榜
1917年创立的福布斯杂志,在编制各种排行榜方面有86年历史,1982年首次推出富豪榜在全球产生空前影响,现在,一年一度的福布斯全球亿万富翁榜在全世界受到密切关注。福布斯每年编制一百多个有关人物、公司和生活时尚排行榜,在全球范围内,福布斯富豪榜的江湖地位毋庸置疑。他云集了世界各地的富豪们。Description有多组测试数据,少于10。 每组数据两个数N (0 Inpu原创 2015-01-09 19:01:28 · 904 阅读 · 0 评论 -
数字求和——链表
总时间限制: 3000ms 内存限制: 65536kB描述给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少?输入输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。输出输出一行,给出一个正整数,是5个数中小于a的数的和。样例输入10 1 2 3 4 11样例输出10用链表的时候就是生成一个链表,然后再从头遍历就可以原创 2015-01-08 20:32:25 · 567 阅读 · 0 评论