C/C++ 习题与算法
SAYA_
************
展开
-
数组下标的排序
假如一个数组int a[5]={3,6,1,4,8},要求输出大小序列,即对于当前数组来说,应该输出:4 2 5 3 1因为8是最大的。所以对应的就是1,而6是第二个较大的,所以是2,,依次判断原创 2015-09-25 12:49:38 · 1620 阅读 · 0 评论 -
大数相乘
红色笔是代表下标/*大数相乘问题*/#include#includeusing namespace std;void LargeNumbersOperate(string &, string &);int main(){ string str1, str2; while(cin >> str1 >> str2) LargeNumbersOperate(s原创 2015-10-24 19:50:53 · 456 阅读 · 0 评论 -
八皇后
//#define _CRT_SECURE_NO_DEPRECATE//#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1#include #include//use absusing namespace std;int number = 1;//记录一共多少种排列int a[8][9] = { 0 };//第一列用来存放当前行的皇原创 2015-10-09 17:25:40 · 429 阅读 · 0 评论 -
找出一串字符里出现次数最多的字符
题目描述:输入一串字符s,找出出现次数最多的字符,如果有多个字符出现最多,按照原先字符顺序输出。例如:s:12321输出是:12我借用容器map写出的代码,如果此题还有更好的解法,请回复我。#include#includeusing namespace std;int main(){ map m; char s[100]; cin原创 2015-11-06 21:33:41 · 1158 阅读 · 0 评论 -
河内之塔
#includeusing namespace std;void Move(char, char);void Hanoi(char, char, char, int);int main(){ while (1) { cout int n; cin >> n; if (n原创 2015-09-26 09:21:50 · 523 阅读 · 0 评论 -
蛇形填数
假如输入2,那么蛇形填数为4 13 2输入3的话,即7 8 16 9 25 4 3现输入n,输出它的蛇形填数#include #include//use memset#include//use setwusing namespace std;int main(){ int a[20][20]; int n; while (cin >> n) {原创 2015-10-02 15:49:49 · 441 阅读 · 0 评论 -
骑士走棋盘
骑士的走法,基本上可以使用递回来解决,但是纯綷的递回在维度大时相当没有效率,一个聪明的解法由J.C. Warnsdorff在1823年提出,简单的说,先将最难的位置走完,接下来的路就宽广了,骑士所要走的下一步, 「为下一步再选择时,所能走的步数最少的一步。使用这个方法,在不使用递回的情况下,可以有较高的机率找出走法(找不到走法的机会也是有的) 。#include #include//use原创 2015-10-01 17:43:45 · 644 阅读 · 0 评论 -
回文词与镜像词
输入一个字符串,只有数字和大写字母。回文就是反转后与原串相同,如ABBA,MAM镜像就是左右镜像与原串相同。如2S,3AIAE但是不是每个镜像后都是合法字符,我们用空格代表非法字符下表是镜像后的合法字符A ABCDE 3FGH HI IJ LKL JM MNO OPQRS 2T TU UV VW WX XY YZ 51 12原创 2015-09-30 11:10:01 · 636 阅读 · 0 评论 -
线段是否相交
#include #include//use sort#include//use fabsusing namespace std;struct Point//点坐标{ double x; double y;};struct Line//线段属性{ double k; double b; Point p1; Point p2;};void IsIntersect(L原创 2015-09-29 17:02:40 · 529 阅读 · 0 评论 -
老鼠走迷宫
老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁,使用1来表示老鼠的行走路径,试以程式求出由入口至出口的路径。 老鼠的走法有上、左、下、右四个方向,在每前进一格之后就选一个方向前进,无法前进时退回选择下一个可前进方向,如此在阵列中依序测试四个方向,直到走到出口为止,这是递回的基本题,请直接看程式应就可以理解。////找到迷宫的一种走法//#includeusing原创 2015-09-27 09:10:03 · 687 阅读 · 0 评论 -
三色旗
一条绳子挂红白蓝三种颜色的旗子,且排列无序,现用程序把三种旗子同色归类,顺序为红-白-蓝,每次只能交换2面旗子。/*红-白-蓝首先排蓝色,left和right分别自左往右,自右往左,left的目的是找到b,right的目的是找到非b(即w或r),然后交换,这样可以把b都找到放在绳的最左边。那么问题简化为排序红-白。接着开始排序白,和上同理。*/#includeusing name原创 2015-09-26 12:59:11 · 537 阅读 · 0 评论 -
从头到尾彻底理解KMP
从头到尾彻底理解KMP原文链接:http://blog.csdn.net/tukangzheng/article/details/38438481作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。1. 引言 本KMP原文最初写于2年多前的2011年12转载 2015-11-02 09:32:44 · 741 阅读 · 0 评论