<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sinat_33844073的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sinat_33844073</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sinat_33844073]]></copyright><item><title><![CDATA[归并排序的C实现]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/68556613</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/68556613</guid><author>sinat_33844073</author><pubDate>Thu, 30 Mar 2017 22:41:42 +0800</pubDate><description><![CDATA[两个有序数组进行合并，即将两数组中第一个数进行比较，小的数移入temp数组中，再进行比较，直到一个数组为空，将另一个数组全部转移即可。temp数组中即为两个数组合并后的有序数列。
归并排序是将数组不断的二分直到两个1个数的有序数组为止，然后通过递归，将有序数组慢慢扩大，直到整个数组有序为止。
原理可以看这个网址：https://visualgo-translation.club/zh/sort]]></description><category></category></item><item><title><![CDATA[八皇后问题（回溯）]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/66479012</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/66479012</guid><author>sinat_33844073</author><pubDate>Sun, 26 Mar 2017 20:53:29 +0800</pubDate><description><![CDATA[八皇后问题是一个以国际象棋为背景的问题：如何能够在 8×8 的国际象棋棋盘上放置八个皇后，使得任何一个皇后都无法直接吃掉其他的皇后？为了达到此目的，任两个皇后都不能处于同一条横行、纵行或斜线上。
可设置一个数组a[i]=j，代表第i行第j列放置棋子。先按行从上往下的顺序，每递归一次，在每一行的某一列放一个棋子。放置后检测列和对角线即可。
#include
int a[8]={0};
int s]]></description><category></category></item><item><title><![CDATA[蓝桥杯 密码脱落]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/65445952</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/65445952</guid><author>sinat_33844073</author><pubDate>Thu, 23 Mar 2017 17:16:22 +0800</pubDate><description><![CDATA[X星球的考古学家发现了一批古代留下来的密码。

这些密码是由A、B、C、D 四种植物的种子串成的序列。

仔细分析发现，这些密码串当初应该是前后对称的（也就是我们说的镜像串）。

由于年代久远，其中许多种子脱落了，因而可能会失去镜像的特征。

 

你的任务是：

给定一个现在看到的密码串，计算一下从当初的状态，它要至少脱落多少个种子，才可能会变成现在的样子。

 
]]></description><category></category></item><item><title><![CDATA[堆排序]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/63760837</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/63760837</guid><author>sinat_33844073</author><pubDate>Sun, 19 Mar 2017 22:54:09 +0800</pubDate><description><![CDATA[先建立堆结构，在从下往上对每一个点进行调整。具体原理可以参照一个网站：
https://visualgo-translation.club/zh



#include
//堆排序从大到小 

void swap(int a[],int x,int y)  
{
	int temp;
	temp=a[x];
	a[x]=a[y];
	a[y]=temp;
}

void insert(i]]></description><category></category></item><item><title><![CDATA[利用dfs输出全排列]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/62037781</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/62037781</guid><author>sinat_33844073</author><pubDate>Tue, 14 Mar 2017 10:18:52 +0800</pubDate><description><![CDATA[#include

#define N 5
//N个数 
int color[N]={0};
int num[N]={1,2,3,4,5};
int temp[N]={0};
int sum=0;
void dfs(int depth)
{
	int i; 
	if(depth>=N)
	{
		for(i=0;i<N;i++)
		{
			printf("%d ",temp[i]);
		}
]]></description><category></category></item><item><title><![CDATA[邻接表的创建与输出（C语言）]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/60962494</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/60962494</guid><author>sinat_33844073</author><pubDate>Thu, 09 Mar 2017 16:20:47 +0800</pubDate><description><![CDATA[邻接表是图的常用储存结构之一，它很好的解决了邻接矩阵占用空间较大的问题。
邻接表用到了两个结构体，一个是顶点表，包括点的序号和连接此起点的第一条边。一个是边表，包括连接此边的终点和对应之前起点的下一条边。
初始化邻接表时，先将定点表赋值，并把指针指向NULL。再将输入的数据插入，插入到起点所对应的边表的最后一个。最后是每个点对应一个链表，头结点为起点，之后的结点为这个起点所连接的边。]]></description><category></category></item><item><title><![CDATA[蓝桥杯 危险系数]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/59170118</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/59170118</guid><author>sinat_33844073</author><pubDate>Wed, 01 Mar 2017 22:20:04 +0800</pubDate><description><![CDATA[问题描述


抗日战争时期，冀中平原的地道战曾发挥重要作用。

地道的多个站点间有通道连接，形成了庞大的网络。但也有隐患，当敌人发现了某个站点后，其它站点间可能因此会失去联系。

我们来定义一个危险系数DF(x,y)：

对于两个站点x和y (x != y), 如果能找到一个站点z，当z被敌人破坏后，x和y不连通，那么我们称z为关于x,y的关键点。相应的，对于任意一对站点x和y，]]></description><category></category></item><item><title><![CDATA[算法 操作二叉查找树]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/58591288</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/58591288</guid><author>sinat_33844073</author><pubDate>Wed, 01 Mar 2017 13:15:27 +0800</pubDate><description><![CDATA[参考《数据结构与算法分析》


二叉查找树的建立：
typedef struct binary_tree_
{
	int data;
	struct binary_tree_ *left;
	struct binary_tree_ *right;
}binary_tree;  //这里binary_tree = struct binary_tree_


二叉查找树创建一个根节点：]]></description><category></category></item><item><title><![CDATA[蓝桥杯 剪格子]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/59087489</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/59087489</guid><author>sinat_33844073</author><pubDate>Wed, 01 Mar 2017 12:34:38 +0800</pubDate><description><![CDATA[问题描述


如下图所示，3 x 3 的格子中填写了一些整数。

+--*--+--+
|10* 1|52|
+--****--+
|20|30* 1|
*******--+
| 1| 2| 3|
+--+--+--+

我们沿着图中的星号线剪开，得到两个部分，每个部分的数字和都是60。

本题的要求就是请你编程判定：对给定的m x n 的格子中的整数，是否可以分割为]]></description><category></category></item><item><title><![CDATA[蓝桥杯 幸运数]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/57144250</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/57144250</guid><author>sinat_33844073</author><pubDate>Sat, 25 Feb 2017 22:53:11 +0800</pubDate><description><![CDATA[问题描述


幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成
。

首先从1开始写出自然数1,2,3,4,5,6,....

1 就是第一个幸运数。

我们从2这个数开始。把所有序号能被2整除的项删除，变为：

1 _ 3 _ 5 _ 7 _ 9 ....

把它们缩紧，重新记序，为：

1 3 5 7 9 .... 。这时，3为第2个幸运数，然]]></description><category></category></item><item><title><![CDATA[蓝桥杯 大臣的旅费]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/56304392</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/56304392</guid><author>sinat_33844073</author><pubDate>Tue, 21 Feb 2017 21:13:08 +0800</pubDate><description><![CDATA[问题描述


很久以前，T王国空前繁荣。为了更好地管理国家，王国修建了大量的快速路，用于连接首都和王国内的各大城市。

为节省经费，T国的大臣们经过思考，制定了一套优秀的修建方案，使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时，如果不重复经过大城市，从首都到达每个大城市的方案都是唯一的。

J是T国重要大臣，他巡查于各大城市之间，体察民情。所以，从一个城市马不停蹄地]]></description><category></category></item><item><title><![CDATA[蓝桥杯 买不到的数目]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/55683706</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/55683706</guid><author>sinat_33844073</author><pubDate>Sat, 18 Feb 2017 22:56:23 +0800</pubDate><description><![CDATA[问题描述


小明开了一家糖果店。他别出心裁：把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。

小朋友来买糖的时候，他就用这两种包装来组合。当然有些糖果数目是无法组合出来的，比如要买 10 颗糖。

你可以用计算机测试一下，在这种包装情况下，最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。

本题的要求就是在已知两个包装的数量时，求最大不能组合出的数字]]></description><category></category></item><item><title><![CDATA[蓝桥杯 连号区间数]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/55520888</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/55520888</guid><author>sinat_33844073</author><pubDate>Fri, 17 Feb 2017 20:09:19 +0800</pubDate><description><![CDATA[问题描述


小明这些天一直在思考这样一个奇怪而有趣的问题：

在1~N的某个全排列中有多少个连号区间呢？这里所说的连号区间的定义是：

如果区间[L, R] 里的所有元素（即此排列的第L个到第R个元素）递增排序后能得到一个长度为R-L+1的“连续”数列，则称这个区间连号区间。

当N很小的时候，小明可以很快地算出答案，但是当N变大的时候，问题就不是那么简单了，现在小明需要你的帮]]></description><category></category></item><item><title><![CDATA[蓝桥杯 翻硬币]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/55223160</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/55223160</guid><author>sinat_33844073</author><pubDate>Wed, 15 Feb 2017 21:05:53 +0800</pubDate><description><![CDATA[问题描述


小明正在玩一个“翻硬币”的游戏。

桌上放着排成一排的若干硬币。我们用 * 表示正面，用 o 表示反面（是小写字母，不是零）。

比如，可能情形是：**oo***oooo

如果同时翻转左边的两个硬币，则变为：oooo***oooo

现在小明的问题是：如果已知了初始状态和要达到的目标状态，每次只能同时翻转相邻的两个硬币,那么对特定的局面，最少要翻动多少次呢？]]></description><category></category></item><item><title><![CDATA[蓝桥杯 错误票据]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/55109934</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/55109934</guid><author>sinat_33844073</author><pubDate>Tue, 14 Feb 2017 22:38:26 +0800</pubDate><description><![CDATA[问题描述


某涉密单位下发了某种票据，并要在年终全部收回。

每张票据有唯一的ID号。全年所有票据的ID号是连续的，但ID的开始数码是随机选定的。

因为工作人员疏忽，在录入ID号的时候发生了一处错误，造成了某个ID断号，另外一个ID重号。

你的任务是通过编程，找出断号的ID和重号的ID。

假设断号不可能发生在最大和最小号。


输入格式


要求程序首先输]]></description><category></category></item><item><title><![CDATA[蓝桥杯 带分数]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/54974766</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/54974766</guid><author>sinat_33844073</author><pubDate>Fri, 10 Feb 2017 22:40:53 +0800</pubDate><description><![CDATA[问题描述


100 可以表示为带分数的形式：100 = 3 + 69258 / 714。

还可以表示为：100 = 82 + 3546 / 197。

注意特征：带分数中，数字1~9分别出现且只出现一次（不包含0）。

类似这样的带分数，100 有 11 种表示法。


输入格式


从标准输入读入一个正整数N (N


输出格式


程序输出该数字用]]></description><category></category></item><item><title><![CDATA[蓝桥杯 打印十字图]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/54933445</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/54933445</guid><author>sinat_33844073</author><pubDate>Wed, 08 Feb 2017 21:29:15 +0800</pubDate><description><![CDATA[问题描述


小明为某机构设计了一个十字型的徽标（并非红十字会啊），如下所示：

..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.]]></description><category></category></item><item><title><![CDATA[蓝桥杯 K好数]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/54884815</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/54884815</guid><author>sinat_33844073</author><pubDate>Sun, 05 Feb 2017 23:14:16 +0800</pubDate><description><![CDATA[问题描述


如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字，那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4，L = 2的时候，所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大，请你输出它对1000000007取模后的值。


输入格式


输入包含两个正整数，K和L。


输出格式

输出一个整数]]></description><category></category></item><item><title><![CDATA[蓝桥杯 十六进制转换为八进制]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/54836676</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/54836676</guid><author>sinat_33844073</author><pubDate>Thu, 02 Feb 2017 17:24:06 +0800</pubDate><description><![CDATA[要求：输入长度不超过100000的几个十六进制，将其转换为八进制。
 最简单的做法，将十六进制转化为二进制的BCD码，然后再将BCD码转换为八进制。注意十六转BCD一位十六进制对四位二进制，BCD转八进制三位二进制对一位八进制。
这里用了二维数组。
#include
#include
#include
int b[10],c[10];
char a[10][100000];//输入的几个十六]]></description><category></category></item><item><title><![CDATA[蓝桥杯 按从小到大输出长度为5的二进制串]]></title><link>https://blog.youkuaiyun.com/sinat_33844073/article/details/54754911</link><guid>https://blog.youkuaiyun.com/sinat_33844073/article/details/54754911</guid><author>sinat_33844073</author><pubDate>Fri, 27 Jan 2017 11:08:44 +0800</pubDate><description><![CDATA[输出样例为
00000
00001
00010
...........
11111


这里利用数组存取
#include

int main(void)
{
	int a[5],*p,i,j;
	for(j=0;j<5;j++)
	{
		a[j]=0;
	}
	for(j=4;j>=0;j--)
	{
		printf("%d",a[j]);	
	}
	printf("\n"]]></description><category></category></item></channel></rss>