![](https://img-blog.csdnimg.cn/20181204234328239.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
啊哈算法题解
记录啊哈算法中的代码
新意识-有意思
17年端午,从五一推迟到今天。记录点滴
展开
-
8.5 --二分图最大匹配
//8.5 二分图最大匹配#include<cstdio>int e[101][101];int match[101];int book[101];int n,m;int dfs(int u){ int i; for(i=0;i<=n;i++) { if(book[i]==0&&e[u][i]==1) ...原创 2018-03-23 16:10:04 · 112 阅读 · 0 评论 -
8.4--图的割边
//8.4 图的割边#include<cstdio>int n,m,e[9][9],root;int num[9],low[9],flag[9],index;int min(int a,int b){ return a<b?a:b;}void dfs(int cur,int father){ int child=0,i,j; inde...原创 2018-03-23 16:09:30 · 148 阅读 · 0 评论 -
8.3 --图的割点
//8.3 图的割点#include<cstdio>int n,m,e[9][9],root;int num[9],low[9],flag[9],index;int min(int a,int b){ return a<b?a:b;}void dfs(int cur,int father){ int child=0,i,j; inde...原创 2018-03-23 16:08:48 · 115 阅读 · 0 评论 -
8.1--镖局运镖 kruskal+prim
//8.1镖局运镖 kruskal#include<cstdio>#include<cstdlib>struct edge{ int u; int v; int w;};struct edge e[10];int f[7];int comp(const void *_a,const void *_b){ struct...原创 2018-03-23 16:08:10 · 907 阅读 · 0 评论 -
7.4--并查集
//7.4并查集//擒贼先擒王 并查集#include<cstdio>#include<cstdlib>int f[1000];int getf(int v){ if(f[v]==v) return v; f[v]=getf(f[v]); return f[v];}void merge(int v,int u)...原创 2018-03-23 16:05:06 · 74 阅读 · 0 评论 -
7.3--堆排序
//7.3堆排序//堆排序 先用最小堆生成,然后从头读取当前最小后用最后一个替换在向下重排#include<cstdio>#include<cstdlib>int h[101];int n;void swap(int x,int y){ int t; t=h[x]; h[x]=h[y]; h[y]=t;}void s...原创 2018-03-23 16:04:21 · 162 阅读 · 0 评论 -
6.4--Bellman-Ford的队列优化
//6.4Bellman-Ford的队列优化#include<stdio.h>// N的值比n大1,M的值比m大1 #define N 6 #define M 8int main(){ freopen("data.in","r",stdin); int n,m,i,j,k; int u[M],v[M],w[M]; int first[N...原创 2018-03-23 16:03:01 · 150 阅读 · 0 评论 -
6.3--负权边 Bellman-Ford
#include<stdio.h>int main(){ freopen("data.in","r",stdin); int dis[10],i,k,n,m,u[10],v[10],w[10]; int inf=999999; scanf("%d%d",&n,&m); //读入边 for(i=1;i<=m;i++...原创 2018-03-23 16:02:03 · 141 阅读 · 0 评论 -
6.2--Dijkstra单源最短路径
#include<stdio.h>int main(){ freopen("data.in","r",stdin); int e[10][10],dis[10],book[10]={0},i,j,n,m,t1,t2,t3,u,v,min; int inf=999999; scanf("%d%d",&n,&m); for(i=1...原创 2018-03-22 16:35:38 · 147 阅读 · 0 评论 -
6.1--只有五行的代码Floyd
#include<cstdio>int main(){ freopen("data.in","r",stdin); int e[10][10],k,i,j,n,m,t1,t2,t3; int inf=999999; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) for(j=...原创 2018-03-22 09:03:50 · 180 阅读 · 0 评论 -
4.6--水管工游戏
//水管工游戏#include<cstdio>int a[51][51],book[51][51],n,m,flag=0;struct note{ int x; int y;}s[100];int top=0;void dfs(int x,int y,int front){ int i; if(x==n&&y==m+1)...原创 2018-03-21 13:22:16 · 485 阅读 · 0 评论 -
4--宝岛探险(深搜与广搜)
//宝岛探险 广搜#include<cstdio>struct note{ int x; int y;};struct note que[2501];int head,tail;int a[51][51],book[51][51];int main(){ freopen("data.in","r",stdin); int i,j,k,...原创 2018-03-21 13:21:15 · 214 阅读 · 0 评论 -
4--炸弹人(深搜与广搜)
//广搜 炸弹人#include<cstdio>struct note{ int x; int y;};char a[20][21];int getnum(int i,int j){ int sum,x,y; sum=0; x=i;y=j; while(a[x][y]!='#') { if(a[x][...原创 2018-03-21 13:19:23 · 281 阅读 · 0 评论 -
2.5--模拟链表
//模拟链表#include<stdio.h>int main(){ int data[101],right[101]; int i,n,t,len; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&data[i]); len=n; right[0]=...原创 2018-03-21 13:16:02 · 95 阅读 · 0 评论 -
2.2--最长回文子串
//最长回文子串#include<stdio.h>#include<string.h>#include<cctype>#define MAXN 5000+10char buf[MAXN],s[MAXN];int p[MAXN];int main(){ int n,m=0,max=0,x,y; int i,j; fget...原创 2018-03-21 13:13:13 · 113 阅读 · 0 评论 -
1.3--快速排序
//快速排序#include<cstdio>#include<cstdlib>int a[101];void quicksort(int left,int right){ int i,j,t; if(left>=right) return; i=left; j=right; while(i!=j) { while原创 2018-03-21 13:04:04 · 103 阅读 · 0 评论