![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
埙声
银子金贵,可一旦碰上命了,就如同尘土草芥一般。
展开
-
C语言 拓扑排序基础
#include#includeint in[1000],match[1000][1000];//in[]存储点的入度 ,match[]存储图的临界阵 int main(){ int m,n,i,j,p,q,k; while(scanf("%d%d",&n,&m)!=EOF) { memset(match,0,sizeof(match));原创 2015-03-03 10:51:11 · 638 阅读 · 0 评论 -
C语言 最小生成树
#include#include#includeusing namespace std;int m,n,i,j,pre[5005];struct M{ int x; int y; int mo;}money[5005];int cmp(M a,M b){ return a.mo<b.mo;}void init(){ for(i=0;原创 2015-03-02 16:59:21 · 560 阅读 · 0 评论 -
C语言 最小生成树
#include#includeusing namespace std;int pre[10000],sum;struct road{ int star; int end; int cost;}r[10000];void make_set(){/*创建一个单元集*/ for(int i=0;i<10000;i++) pre[i]=i原创 2015-03-02 11:12:20 · 887 阅读 · 0 评论 -
C语言 并查集 压缩路径
#include #include #include#includeusing namespace std;int pa[10000000];/*pa[x]表示x的父节点*/int num[10000000];void make_set(){/*创建一个单元集*/ for(int i=0;i<10000000;i++) { pa[i]=i;原创 2015-02-28 18:05:37 · 527 阅读 · 0 评论 -
C语言 并查集基础
#include #include #includeusing namespace std;int pa[3000];/*pa[x]表示x的父节点*/ int num[3000],e[3000];/*num[]存储该集合中元素个数,并在集合合并时更新num[]即可.e[]记录集合中元素的个数*/ void make_set(int x){/*创建一个单元集*/ pa[x原创 2015-02-28 15:21:31 · 643 阅读 · 0 评论 -
C语言 并查集
#include #include using namespace std;int pa[30001]; /*pa[x]表示x的父节点*/int rank[30001]; /*rank[x]是x的高度的一个上界*/int num[30001];/*num[]存储该集合中元素个数,并在集合合并时更新num[]即可*/void make_set(int x){/*创建一个原创 2015-02-28 10:59:16 · 609 阅读 · 0 评论 -
C语言对DFS简单应用(Red and Black
#includeint dir[4][2]={{1,0},{0,-1},{0,1},{-1,0}};char maze[25][25];int num,m,n;void DFS(int x,int y){ num++; maze[x][y]='#';//防止重复记录 for(int k=0;k<4;k++) { int X=x+dir[k]原创 2015-02-03 19:56:20 · 1654 阅读 · 0 评论 -
C语言对搜索的简单应用(迷宫问题
#include#includeusing namespace std;int dir[4][2]={{1,0},{0,1},{-1,0},{0,-1}};int maze[5][5],temproad[25][2],pos=0;struct road{ int r[30][2];//记录路径 int step;}s[50];int dfs(int x,int y,原创 2015-02-02 18:52:06 · 507 阅读 · 0 评论 -
C语言对深度搜索的简单应用(Oil Deposits
#include#includeint dir[8][2]={{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0},{-1,1}};int s[105][105];char map1[105][105]; int i,j,n,m,num;void dfs(int x,int y){ for(int i=0;i原创 2015-02-02 19:01:53 · 604 阅读 · 0 评论 -
C语言 Floyd最短路
#includeint map[2000][2000];int main(){ int n,i,j,m,k,a,b,c,; while(scanf("%d%d",&n,&m)&&m>0&&n>0) { for(i=1;i<=n;i++) for(j=1;j<=n;j++) { ma原创 2015-03-01 11:07:06 · 1324 阅读 · 0 评论