摘要:
点击查看代码 #include<cstdio> #include<algorithm> using namespace std; #pragma warning(disable:4996) //平衡二叉树AVL的定义 struct node { int data; //数据域 int height; 阅读全文
摘要:
点击查看代码 #include<cstdio> #pragma warning(disable:4996) //二叉查找树的基本操作 //结点定义 struct node { int data; //结点权值 node* lchild; //左孩子指针 node* rchild; //有孩子指针 } 阅读全文
摘要:
点击查看代码 #include<cstdio> #include<vector> #include<queue> using namespace std; #pragma warning(disable:4996) const int maxn = 100; /* struct node { //一 阅读全文
摘要:
点击查看代码 //二叉树的静态实现(使用数组存储结点) #include<cstdio> #include<queue> using namespace std; #pragma warning(disable:4996) const int maxn = 1000; //二叉树最多有1000个结点 阅读全文
摘要:
点击查看代码 #include<cstdio> #include<queue> using namespace std; #pragma warning(disable:4996) //二叉链表结构 struct node { int data; //数据域 node* lchild; //指向左子 阅读全文
摘要:
点击查看代码 /* 给出一个n*m的迷宫,其中"*"表示不可通过的墙壁,"."表示平地,"S"表示起点,"T"表示终点。移动过程中,如果当前位置为(x,y)(下标从0开始),且每次只能前往上下 左右(x,y+1)、(x,y-1)、(x-1,y)、(x+1,y)四个位置的平地,n和m都不超过100,求 阅读全文
摘要:
点击查看代码 /* 给出一个n*m的矩阵(n和m都不超过100),矩阵中的元素为0或1。对于坐标(x,y)来说,定义其上下左右四个坐标与它相邻(x,y+1)、(x,y-1)、(x+1,y)、(x-1,y) 如果矩阵中有若干个1是相邻的(不必两两相邻,可以通过公用边相邻),则称这些1构成了一个块。求给 阅读全文
摘要:
点击查看代码 #include<cstdio> #include<queue> using namespace std; #pragma warning(disable:4996) //广度优先搜索BFS一般由队列实现,按层次顺序进行遍历,BFS模板如下: void BFS(int s) { que 阅读全文
摘要:
点击查看代码 /* 给出N个整数(可能有负数),从中选择K个数(可以重复选择),使得K个数的和等于一个给定整数X,如果有多种符合要求的方案时,选择K个数中平方和最大的那个 问题等价于:枚举从N个整数中选择K个数(可以重复选择)的所有方案 例如给出3个整数1、4、7,从中选出5个数使得它们的和为17, 阅读全文
摘要:
点击查看代码 /* 给出N个整数(可能有负数),从中选择K个数(不能重复选择),使得K个数的和等于一个给定整数X,如果有多种符合要求的方案时,选择K个数中平方和最大的那个 问题等价于:枚举从N个整数中选择K个数(不能重复选择)的所有方案 输入样例: 4 2 6 //给定4个整数,从中选择2个数,使得 阅读全文