E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
入门经典
算法竞赛
入门经典
:第八章 高效算法设计 8.1动态规划之最大连续和
/* 最大连续和: 给出一个长度为n的序列A1,A2,...,An,求最大连续和。换句话说,要求找到10 {a,b[i-1]maxSum(iArr,mid,high)?maxSum(iArr,low,mid):maxSum(iArr,mid,high);//分治第二步,递归,为后面比较子序列的最大值做准备 6intiSum=0,iL=iArr[mid-1];//我终于明白为什么从中间向两头
qingyuanluofeng
·
2015-08-18 09:00
动态规划
最大连续和
算法竞赛
入门经典
:第七章 暴力求解法 7.20八数码问题之stl
/* 八数码问题之stl: 1setvis,这样只需要调用if(vis.count(s))来判断s是否在集合vis中,并用vis.insert(s)加入集合,用vis.remove(s)从集合中移除s。 问题:并不是所有类型的State都可以作为set中的元素类型。set的元素必须定义"vis,这样只需要调用if(vis.count(s))来判断s是否在集合vis中,并用vis.insert
qingyuanluofeng
·
2015-08-18 09:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.18八数码问题之哈希去重
/* 八数码问题之哈希去重: 输入: 264137058 815736402 输出: 31 */ /* 关键: 1哈希:把结点变成整数,但不必是一一对应。设计一个哈希函数h(x),然后将任意结点x映射到某个给定的范围[0,M-1]的整数即可,其中M是程序员根据可用内存大小 自选的。不同结点哈希值相同时,用链表组织哈希值相同的链表。 2iSum=10*iSum+s[i];
qingyuanluofeng
·
2015-08-18 09:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.18 广度优先搜索之八数码问题
/* 八数码问题: 编号为1~8的8个正方形滑块被摆成3行3列(有一个格子空留),如图所示。每次可以把与空格相邻的滑块(有公共边才算相邻)移到空格中,而它原来的位置就称为了 新的空格。给定初始局面和目标局面(用0表示空格格),你的任务是计算出最少的移动步数。如果无法达到目标局面,则输-1. 264815 137736 5842 思路: 1用广度优先搜索,难道得用9个位置剪枝才能
qingyuanluofeng
·
2015-08-18 09:00
广度优先搜索
算法竞赛
入门经典
:第七章 暴力求解法 7.18倒水问题
/* 倒水问题: 有装满水的6升杯子、空的3升杯子和一升杯子,3个杯子中都没有刻度。在不使用其他道具的情况下,是否可以量出4升的水呢? 输入: 6(满杯水所在的刻度)31 输出: (6,0,0)->(3,3,0)->(3,2,1)->(4,2,0) 思路: 这与倒可乐是一个问题,关键在与状态的搜索。 1采用广度优先搜索算法 2当前状态的下一状态的方法为:(a,b,c) 状
qingyuanluofeng
·
2015-08-18 09:00
广度优先搜索
算法竞赛
入门经典
:第七章 暴力求解法 7.16埃及分数
/* 埃及分数: 使用单位分数的和(如1/a,a是自然数)表示一切有理数。例如2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为在加数中不允许有相同的。 对于一个分数a/b,表示方法有很多种,其中加数少的比加数多的号,如果加数个数相同,则最小的分数越大越好。例如,19/45=1/5+1/6+1/18是最优方案。 输入整数a,b(0=1/em,确定em的下界 若设定深度上限为d,
qingyuanluofeng
·
2015-08-18 09:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.13困难的串
/* 困难的串: 如果一个字符串包含两个相邻的重复子串,则称它是“容易的串”,其他串成为“困难的串”。例如:BB,ABCDACABCAB,ABCDABCD都是容易的,而D、DC、ABDAB、CBABCBA 都是困难的。 输入正整数n和L,输出由前L个字符组成的、字典序第n个小的困难的串。例如,当L=3时,前7个困难的串分别为:A、AB、ABA、ABAC、ABACA、ABACAB、ABACA
qingyuanluofeng
·
2015-08-18 09:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.11回溯法
/* 回溯法: 排列生成和子集枚举的两种方法:1递归,2遍历 遍历:优点:简单,缺点:增大枚举量,检验所有解 回溯法:含义:递归时,将生成+检查过程结合 适合:问题分成步骤,步骤采用不太多选择 回溯算法=递归枚举算法:分成若干步骤递归,若某一步无解,返回上一级调用,称为回溯。 八皇后问题: 在棋盘上放置8个皇后,使得她们互不攻击,此时每个皇后的攻击范围为同行同列和同对角线,
qingyuanluofeng
·
2015-08-18 09:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.10 二进制法
/* 二进制法: 用二进制表示{0,1,2,...,n-1}的子集S:从右往左第i位表示元素i是否在集合S中。1表示在。 异或特点:开关性。两次异或后相当于没有B^B=0,A^B^B=A。 空集:0,全集:2^n-1.ALL_BITS=(1 #include voidprintSubset(intiElem,intn)//打印{0,1,...,n-1}中iElem的子元素 {
qingyuanluofeng
·
2015-08-18 09:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.9位向量法
/* 位向量法: 构造一个位向量B[i],而不是直接构造子集A本身,其中B[i]=1当且仅当i在子集A中。 注意:此题不是求排列,而是求子集,这里n个元素有2^n-1个子集,因为空集无法打印出来 输入: 3 输出: 012 01 02 0 12 1 2 */ /* 关键: 1if(pos==n)//凡是递归,先写递归出口,否则若写在后面,很容易漏掉,所有元
qingyuanluofeng
·
2015-08-18 09:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.8子集生成
/* 子集生成: 给定一个集合,枚举它所有可能的子集。讨论范围:没有重复元素。 增量构造法:一次选出一个元素放到集合中: */ #include #include #defineMAXSIZE1024 //每次递归调用都输出当前集合,递归边界也不需要显式确定--如果无法继续添加元素,就不再递归。 voidprintPermutation(intn,int*iA
qingyuanluofeng
·
2015-08-18 09:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.7解答树
/* 解答树: 以下的树显示了排列递归函数的调用过程。 (****) (1***)(2***)(3***)(4***) (12**)(13**)(14**)(21**)(23**)(24**)(31**)(32**)(34**)(41**)(42**)(43**) (123*)(124*) (1234) 特点: 第0层有n个儿子,第一层各节点各有n-1个儿子,第二层各有n-2
qingyuanluofeng
·
2015-08-18 09:00
解答树
算法竞赛
入门经典
:第七章 暴力求解法 7.6可重复的排列
/* 生成可重集得到排列: 把问题改成:输入数组P,并按字典序输出数组A各元素的所有全排列,则需要对上述程序进行修改--把P加到printPermutation的参数列表中,然后把 代码中的if(iArr[i]==j)和if(A[pos]==j)改成if(iArr[i]==P[j])和iArr[pos]=P[j] bug1:如果数组中是重复的元素111的话,因为禁止出现重复,造成错误
qingyuanluofeng
·
2015-08-18 09:00
排列
算法竞赛
入门经典
:第七章 暴力求解法 7.5枚举排列
/* 枚举排列: 输入整数n,按字典顺序从小到大的顺序输出前n个数的所有排列。两个序列的字典序大小关系等价于从头开始第一个不相同位置处的大小关系。例如,(1,3,2) #include #defineMAXSIZE1024 voidprintPermutation(int*iArr,intn,intpos) { if(pos==n)//递归出口,如果下标已经到达数组的个数时,
qingyuanluofeng
·
2015-08-18 09:00
排列
算法竞赛
入门经典
:第七章 暴力求解法 7.3分数拆分
/* 分数拆分: 输入正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y 输入: 2 12 输出: 2 1/2=1/6+1/3 1/2=1/4+1/4 8 1/12=1/156+1/13 1/12=1/84+1/14 1/12=1/60+1/15 1/12=1/48+1/16 1/12=1/36+1/18 1/12=1/30+1/20 1/12=1/28+1/21 1/12=1/24+
qingyuanluofeng
·
2015-08-17 20:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.4双基回文数
/* 双基回文数: 如果一个正整数n至少在两个不同的进位制b1和b2下都是回文数(2 输入:1600000(1632994) 输出:1632995 思路: 1对比S大每个数进行2到10进制的罗列,这8种中但凡有两种进制回文数相同,就输出 2判断回文数做成一个函数,将一个数先分解(从个位到最高位)存放在一个数组,对这个数组的前一半与后一半进行比较,相同,则认为是回文数 */ /* 关键: 1in
qingyuanluofeng
·
2015-08-17 20:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.2最大乘积
/* 最大乘积: 输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列。如果这个最大的成绩不是整数,应输出-1(表示无解)。10 {iArr[i],max[i-1]0 {iArr[i],max[i-1]0) { b+=a[i]; } else { b=a[i] } if(b>sum) { sum=b; } } */ #include #include #defineMAXSIZE102
qingyuanluofeng
·
2015-08-17 20:00
算法竞赛
算法竞赛
入门经典
:第七章 暴力求解法 7.1除法
/* 除法: 输入正整数,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2 #include voiddivision(intn) { if(n79) { printf("您输入的n不符合要求(2<=n<=79),请重新输入!\n"); return; } for(inti=98765/79;i<=98765/2;i++)//因为被枚举
qingyuanluofeng
·
2015-08-17 20:00
枚举
算法竞赛
入门经典
:第六章 数据结构基础 6.14欧拉回路
/* 欧拉回路: 有一条命为Pregel的河流经过Konigsberg。城中有七座桥,把河中的两个岛与河岸连接起来。是否存在一条路线,可以不重复地走完7座桥 欧拉道路实际上是一笔画问题:欧拉图必须满足条件:图连通并且没有度数为奇数的节点 半:连通+恰有2个度数为奇数的节点(这两个顶点为初始和结束顶点,因为其他节点进出次数相等) 如何判定恰有两个度数为奇数的节点:枚举即可 结论: 有向图:一个节点
qingyuanluofeng
·
2015-08-17 20:00
欧拉回路
算法竞赛
入门经典
:第六章 数据结构基础 6.13拓扑排序
/* 拓扑排序: 假设有n个变量,还有m个二元组(u,v),分别表示变量u小于v。那么,所有变量从小到大排列起来应该是什么样子的呢?例如有4个变量a,b,c,d。若一直a #include #defineMAXSIZE1024 intiMark[MAXSIZE]; intloc; intn; inttopo[MAXSIZE]; intGraph[MAXSIZE][MAXSIZE]; //对
qingyuanluofeng
·
2015-08-17 20:00
算法竞赛
算法竞赛
入门经典
:第六章 数据结构基础 6.12迷宫路径
/* 迷宫: 一个网格迷宫由n行m列单元格组成,每个单元格要么是空地(用1表示),要么是障碍物(用0表示)。你的任务是找一条从起点到终点的最短移动序列,其中UDLR分别 表示往上、下、左、右移动到相邻单元格。任何时候都不能在障碍格中,也不能走到迷宫之外。起点和终点保证是空地。n,m #include #include #defineMAXSIZE50 intqueue[MAXSIZE*MAXSI
qingyuanluofeng
·
2015-08-17 20:00
算法竞赛
算法竞赛
入门经典
:第六章 数据结构基础 6.11迷宫
/* 迷宫: 一个网格迷宫由n行m列单元格组成,每个单元格要么是空地(用1表示),要么是障碍物(用0表示)。你的任务是找一条从起点到终点的最短移动序列,其中UDLR分别 表示往上、下、左、右移动到相邻单元格。任何时候都不能在障碍格中,也不能走到迷宫之外。起点和终点保证是空地。n,m #include #include #defineMAXSIZE50 usingnamespacestd; t
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
算法竞赛
入门经典
:第六章 数据结构基础 6.10黑白图像
/* 黑白图像: 输入一个n*n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数。如果两个黑盒子有公共边或者公共顶点,就说它们属于同一个八连块。 如图所示,有3个八连块 输入: 6 100100 001010 000000 110000 111000 010100 输出: 3 思路: 采用递归调用,设置剪枝数组 */ /* 关键: 1深度遍历要区分是否回溯//iMark[iNex
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
算法竞赛
入门经典
:第六章 数据结构基础 6.9 根据二叉树的后序和中序确定前序序列
/* 根据二叉树的后序和中序确定前序序列 输入: ACBFGEDABCDEFG CDABCBAD 输出: DBACEGF BCAD 采用简便方法:将根节点放在最后 */ /* 关键: 1循环中一找到自己想要的,要立即跳出 if(strMid[i]==strPost[e1]) { iRootIdx=i; break; } 2循环的界限处一定多加留意,for(inti=s2;i #include
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
入门经典
:第六章 数据结构基础 6.7层次遍历
/* 层次遍历: 输入一颗二叉树,你的任务是按从上到下、从左到右的顺序输出各个节点的值。每个节点都按照从根节点到它的移动序列给出(L表示左,R表示右)。在输入中,每个 节点的左括号和右括号之间没有空格,相邻节点之间用一个空格隔开。每棵树的输入用一对空括号()结束(这对括号本身不代表一个节点) 注意:如果从根到某个叶节点的路径上有的节点没有在输入中给出,或者给出了超过一次,应当输出-1.节点个数不超
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
算法竞赛
入门经典
:第六章 数据结构基础 6.6层次遍历
/* 层次遍历: 输入一颗二叉树,你的任务是按从上到下、从左到右的顺序输出各个节点的值。每个节点都按照从根节点到它的移动序列给出(L表示左,R表示右)。在输入中,每个 节点的左括号和右括号之间没有空格,相邻节点之间用一个空格隔开。每棵树的输入用一对空括号()结束(这对括号本身不代表一个节点) 注意:如果从根到某个叶节点的路径上有的节点没有在输入中给出,或者给出了超过一次,应当输出-1.节点个数不超
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
算法竞赛
入门经典
:第六章 数据结构基础 6.5小球下落
/* 小球下落: 一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有节点从上到下,从左到右编号为1,2,3...,2^D-1。在节点1处放一个小球,它会往下落。每个内节点上 都有一个开关,初始全部关闭,当每次有小球落到一个开关上时,它的状态都会改变。当小球到达一个内节点时,如果该节点上的开关关闭,则往左走,否则,往右 走,知道走到叶子节点,如图所示: 一些小球从节点1处一次开始下落,最后一个小
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
算法竞赛
入门经典
:第六章 数据结构基础 6.4测试
/* 测试: 找一份完成相同功能的代码。对比测试,需要大量数据。 stdlib.h中的rand(),生成[0,RAND_MAX]的均匀随机数,RAND_MAX>=32767 */ /* 关键: 1intrand():产生0~RAND_MAX之间的伪随机数,rand()前面必须先调用srand(time(NULL)),time返回自1970年1月1日0点经过的秒数 2voidsrand(unsig
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
算法竞赛
入门经典
:第六章 数据结构基础 6.3移动小球
/* 移动小球: 我有小球,从左到右一次编号为1,2,3,...,n 你可以执行两种指令: AXY表示把小球X移动到小球Y的左边,BXY表示把小球X移动到小球Y的右边。指令保证合法,即X不等于Y。 输入小球个数n,指令条数m和m条指令,从左到右输出最后的序列。注意,n可能高达500000,而m可能高达100000 输入: 62 A14 B35 输出: 214536 关键:建立单链表,添加左移和右
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
算法竞赛
入门经典
:第六章 数据结构基础 6.2铁轨
/* 铁轨: 某城市有一个火车站,铁轨铺设如图所示。有n节车厢从A方向驶入车站,按进站顺序编号为1~n。你的任务是让它们按照某种特定的顺序进入B方向的 铁轨并驶出车站。为了重组车厢,你可以借助中转站C。这是一个可以停放任意多节车厢的车站,但由于末端封顶,驶入C的车厢必须按照相反的顺序 驶出C。对于每个车厢,一旦从A移入C,就不能再回到A了;一旦从C移入B,就不能再回到C了。换句话说,任意时刻,只有
qingyuanluofeng
·
2015-08-17 19:00
栈
算法竞赛
入门经典
:第六章 数据结构基础 6.1卡片游戏
/* 卡片游戏: 桌上有一叠拍,从第一张牌(位于顶面的牌)开始从上往下依次编号为1~n。当至少还剩两张牌时进行以下操作:把第一张牌扔掉,然后把新的第一张放到整叠牌 的最后。输入n,输出每次扔掉的牌,以及最后剩下的牌 思路: 设置剪枝数组,凡是扔掉的牌,置剪枝标记为真,循环结束条件为还剩一张牌,有两个循环:报数循环,每次报到的删除,大循环,每次超过7进入下一次循环 关键:如何解决放在末尾的问题?用
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
算法竞赛
入门经典
:第五章 基础题目选解 5.12多少块土地
/* 多少块土地: 你有一块椭圆的地。你可以在边界上选n个点,并两两连接得到一个n*(n-1)/2条线段。它们最多能把土地分成多少个部分? 输入:4 输出:8 关键: 注意是求分得多少块面积 欧拉公式:v-e+r=2,r=2+e-v-1(这是椭圆外面的无穷大土地,易漏)=2+n*(n-1)/2-n-1=1+n*(n-3)/2 V=顶点数(线段端点数+交点数)=n+n/4(0~n-2)i*(n-2
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
算法竞赛
入门经典
:第五章 基础题目选解 5.11果园里的树
/* 果园里的树: 果园里的树排列成矩阵。它们的x和y坐标均是1~99的整数。输入若干个三角形,依次统计每一个三角形内部和边界上共有多少棵树,如图所示。 8............... 7............... 6............... 5............... 4............... 3............... 2............... 1...
qingyuanluofeng
·
2015-08-17 19:00
算法竞赛
算法竞赛
入门经典
:第五章 基础题目选解 5.10 因子和阶乘
/* 因子和阶乘: 输入正整数n(2 #include #include #defineMAXSIZE1024 voiddivideEle(intn) { //预处理,用素数筛选法 intiMark[MAXSIZE]; memset(iMark,0,sizeof(iMark)); for(inti=2;iiMaxPri) { iMaxPri=k; } } }
qingyuanluofeng
·
2015-08-17 12:00
阶乘
因子
VS2010 C++ 学习笔记(一) 引用 函数参数默认值 函数重载 内联inline
视频链接 链接,讲的蛮不错,搭配《VisualC++2008
入门经典
(中文高清版)》,有2010版的。 学习ing,做个笔记。
linbounconstraint
·
2015-08-12 22:00
2015年8月12日工作日志------------赵鑫
的意思方法:BoxFormatingContext文章地址:http://www.cnblogs.com/lhb25/p/inside-block-formatting-ontext.html2.JS
入门经典
上的一些知识感觉不够详细和
Y_mmmmmmm
·
2015-08-12 21:07
《C#
入门经典
》第6章 函数 学习笔记
1. 参数数组(params) C#允许为函数指定一个(并且只能指定一个)特殊参数,这就是参数数组,参数数组必须是函数定义中的最后一个参数,它允许使用个数不定的参数来调用函数,可以使用关键字params来定义它们。(param:参数,参数个数) //声明定义方法static返回值类型函数名称(参数类型1参数1,参数类型2参数2,……,params参数类型n[]参数数组n){ ……
yanglingwell
·
2015-08-12 19:00
函数
C#
算法竞赛
入门经典
:第五章 基础题目选解 5.8 字母重排
/* 字母重排: 输入一个字典(用******结尾),然后再输入若干单词。每输入一个单词w,你都需要在字典中找出所有可以用w的字母重排后得到的单词,并按照字典顺序从小到大的 顺序在一行中输出(如果不存在,输出:()。输入单词之间用空格或空行隔开,且所有输入单词都由不超过6个小写字母组成。注意,字典中的单词不一定按字典序排列 输入: trapgivenscorerefundonlytrap
qingyuanluofeng
·
2015-08-12 01:00
算法竞赛入门
2015年8月11日工作日志--------------赵鑫
.完成了1道杭电OJ上的题目2.对JS经典入门看到19章3.英文网页进行了答疑1.求回文素数的时候没有考虑效率方法:将判断回文写在素数之前更有效率,1000W以内最大的回文素数是99898992.JS
入门经典
上的一些知识感觉不够详细和到位方法
Y_mmmmmmm
·
2015-08-11 21:04
算法竞赛
入门经典
:第五章 基础题目选解 5.9 Cantor数
/* Cantor的数表: 如下列数,第一项是1/1,第二项是1/2,第三项是2/1,第四项是3/1,第五项是2/2,......。 输入n,输出第n项。 1/11/21/31/41/5 2/12/22/32/4 3/13/23/3 4/14/2 5/1 (本质上是一个折线) 输入: 3 14 7 12345 输出: 2/1 2/4 1/4 59/99
qingyuanluofeng
·
2015-08-11 11:00
算法竞赛入门
算法竞赛
入门经典
:第五章 基础题目选解 5.7 6174问题
/* 6174问题: 一个各位数字互不相同的四位数,把所有数字从大到小排序后得到a,从小到大排序后得到b,然后用a-b替换原来的数,并且继续操作。 例如,从1234触发,依次可以得到4321-1234=3087,8730-378=8352,8352-2358=6174。7641-1467=6174,回到了它自己。 输入一个n位数,输出操作序列,直到出现循环(即新得到的数曾经得到过)。输入保
qingyuanluofeng
·
2015-08-11 11:00
算法竞赛入门
算法竞赛
入门经典
:第五章 基础题目选解 5.6 数组模拟高精度乘法
/* 高精度乘法: 1用数组模拟,数组上的每一位代表一个数字,简化结构体操作 2用f[0]表示个位,f[1]表示十位,因为需要进位。输入的时候忽略前导0 */ #include #include #include #defineMAXSIZE1024 voidprocess(intiNum) { intiDigit[MAXSIZE]; memset(iDigit
qingyuanluofeng
·
2015-08-11 11:00
算法竞赛入门
算法竞赛
入门经典
:第五章 基础题目选解 5.5 高精度乘法
/* 输入:10 输出:3628800 高精度乘法: 关键: 1设定初始值_size=0;//记住,初始化的时候,应该置_size=0,否则不能做,初始化不需要逐个设置,直接用memset(_digit,0,MAXSIZE或sizeof(_digit)); memset与sizeof搭配,因为用的是数组 2if(0!=iPass)//最后一次若要进位最后一次要判断循环体外是否需要进位
qingyuanluofeng
·
2015-08-11 11:00
算法竞赛入门
算法竞赛
入门经典
:第五章 基础题目选解 5.4 小学生算术
/* 小学生算术: 计算两个整数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,知道读到两个0.假设输入的整数都不超过9个数字 输入: 123456 555555 123594 输出: 0 3 1 思路: iPass=(num1+num2+iPass)/10; iDigit=(num1+num2+iPass)%10; */ #include #in
qingyuanluofeng
·
2015-08-11 11:00
算法竞赛入门
算法竞赛
入门经典
:第五章 基础题目选解 5.3 周期串
/* 周期串: 如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。例如,abcabcabcabc是以3为周期(注意,它也以6和12为周期)。输入一个长度不 超过80的串,输出它的最小周期 输入: HoHoHo 输出:2 思路: 关键找到切分点,从n/2长度算起吗,n/2-1长度,一直到1为止。这类似于希尔排序 */ #include #inclu
qingyuanluofeng
·
2015-08-11 11:00
算法竞赛入门
算法竞赛
入门经典
:第五章 基础题目选解 5.2 Tex
/* 在Tex中,双引号是``,右引号是"。输入一篇包含双引号的文章,你的任务是把它转换成TeX的格式。 输入: "Tobeornottobe,"quoththeBard,"thatisthequestion". 输出: ``Tobeornottobe,''quoththeBard,``tharisthequestion." 思路: 关键是判断一个引号到底是左引号还是右引号,然后
qingyuanluofeng
·
2015-08-11 11:00
算法竞赛入门
算法竞赛
入门经典
:第五章 基础题目选解 5.1WERTYU
/* 把手放在键盘上时,稍不注意就会往右错移一位。这样的话,Q会变成W, J会变成K等。电脑键盘如下图所示: `1234567890-=BackSP TabQWERTYIOP[]\ ASDFGHJKL;'Enter ZXCVBNM,./ ControlAltAltControl 输入一个错位后敲出的字符串,输出打字员本来想打出的句子。 输入:OS,GOMRYPSFU 输出:IA
qingyuanluofeng
·
2015-08-11 11:00
算法竞赛入门
算法竞赛
入门经典
: 第四章 函数与递归 4.6解二元一次方程
/* 编写函数:solve,给定浮点数a,b,c,d,e,f,求解方程组ax+by=c,dx+ey=f 任务1:使用assert宏,让解不唯一时退出 任务2:解不唯一时仍然正常返回,但调用者有办法知道解的数量(无解,唯一解,无穷多组解) 思考:函数的参数都有哪些?各是什么类型? 然后请编写一个程序,包含3个函数f().g()和h()。3个函数均无参数,返回值均为int类型 任务1:
qingyuanluofeng
·
2015-08-11 11:00
算法竞赛入门
算法竞赛
入门经典
: 第四章 函数与递归 4.5递归
/* 递归: 含义:直接用到自己或间接用到自己 优点:简洁+严密 注意:写递归终止条件 */ /* 关键: 1调用栈中,#0#1都是从最内层被调函数到外层主调函数的过程 2调用栈:描述函数调用关系,组成:栈帧,栈帧:表示未运行完函数 3递归过程:建立新栈帧,传参,修改当前代码行,删栈帧,修改当前代码行。同一时刻栈帧多个,当前代码行一个 4凡是和递归有关,全给我用long。
qingyuanluofeng
·
2015-08-11 11:00
算法竞赛入门
算法竞赛
入门经典
: 第四章 函数与递归 4.4变量交换
/* 变量交换 */ #include #include voidswap(inta,intb) { intiTemp=a; a=b; b=iTemp; } voidswap(int*a,int*b) { intiTemp=*a; *a=*b; *b=iTemp; } //试图交换地址,地址不能改变,发生错误 voidswap2(int*a,in
qingyuanluofeng
·
2015-08-11 10:00
算法竞赛入门
上一页
33
34
35
36
37
38
39
40
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他