文章分类 - 算法
摘要:1、队列(1)定义队列也是一种运算受限的线性表。在这种线性表上,插入限定在表的某一端进行,删除限定在表的另一端进行。允许插入的一端称为队尾,允许删除的一端称为队头。特点:队列中数据元素的入队和出队过程是按照“先进先出”的原则进行的。因此,队列又称为“先进先出”的线性表,简称FIFO表。(2)实现-链...
阅读全文
摘要:一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的,主要时间是花在思考算法上,不是花在写程序与debug上。下面给个计划练练:第一阶段:练经典常用算法,下面的每个算法打上十到二十遍,同时自己精简代码。因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关...
阅读全文
摘要:题意:给你一个row*col的矩阵,上面的'#'代表你不能走的地方,'.'表示你能走的地方,'@'表示你的起点,问你最多能走多少格。思路:dfs的简单变形。只要记录下搜过的个数,便是他能走的格数。#includeusing namespace std;const int Max= 22;int ro...
阅读全文
摘要:题意:搜索,已知起点和终点,求石子从起点到达终点的最短路,如果无法到达,则输出-1。石子移动的具体规则如下:1、开始时,石子在起点s处2、运动方向可以是水平或垂直的,不能斜方向运动3、最开始的时候,你可以将石子向上下左右任意一个方向抛,如果与它相邻的点是障碍物的话除外4、一旦石子开始运动,有三种可能...
阅读全文
摘要:解题思路我们不妨令f(m,n)表示m个苹果放到n个盘子里有多少种放法,下面对不同的情况给予讨论:(1):当盘子数为1的时候,只有一种放法就是把所有苹果放到一个盘子里。(2):当苹果数为1的时候,也只有一种放法,注意题目中说明,盘子之间并无顺序,所以不管这个苹果放在哪个盘子里,结果都算一个。(3):当...
阅读全文
摘要:c语言类库中自带了快速排序算法qsort。用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));参数:base(待排序数组首地址) nelem(数组中待排序元素数量) width(...
阅读全文
摘要:题意很简单:就像查找一本字典,根据输入的条目和要查询的单词,给出查询结果(每个单词长度不超过10)。这题有很多实现方式,最容易想到的就是map,但这是acm训练且stl里面的map速度不够快,那就要另谋出路。解题思路:水题,输入时顺便用STL的map标记外语是否出现过,然后再用map建立“外语à英语...
阅读全文

浙公网安备 33010602011771号