算法示例
SYLAS_LINUX
这个作者很懒,什么都没留下…
展开
-
宽度优先示例
宽度优先原创 2015-10-22 17:19:24 · 484 阅读 · 0 评论 -
tarjan
#include <stdio.h> #include <string.h> int map[10][10]; int stack[10]; int top; int instack[10]; int dfn[10], low[10]; int index; int M,N;void tarjan(int v) { int j; dfn[v] = low[v] = ++index;转载 2015-10-25 11:34:13 · 425 阅读 · 0 评论 -
suffix array
#include <stdio.h> #include <string.h> char num[4001]; int suffix[4001]; int mark[4001];int comparel(char* a, char*b) { int i; for(i = 0; a[i] !=0 && b[i] != 0; i++) { if(a[i] != b[原创 2015-10-25 11:31:51 · 734 阅读 · 0 评论 -
递归
#include <stdio.h>int N; int data[26][26]; int look(int vpos, int hpos) { int sum = 0; if(data[vpos][hpos] == 1) { sum++; data[vpos][hpos] = 0; if(hpos<N)原创 2015-10-25 11:26:13 · 367 阅读 · 0 评论 -
password
#include <stdio.h> #include <string.h> char pass[1002];int main(void) { int tc, T; int i, j, dep, maxdep; int tmpi,tmpj, flag; setbuf(stdout, NULL); scanf("%d", &T); for(tc = 0;原创 2015-10-25 11:22:57 · 480 阅读 · 0 评论 -
括号匹配
#include <stdio.h> #include <string.h>char a[31],name[31]; int b[31],num,top; void getname() { int i,popnum; char tmp; popnum = 0; for(i = 0; name[i] != 0; i++) { if(name[i]原创 2015-10-25 11:19:03 · 399 阅读 · 0 评论 -
图着色
#include<stdio.h>int color[100]; int c[100][100];//存储n个顶点的无向图的数组int colok(int k )//判断顶点k的着色是否发生冲突 { int i,j; for(i=1;i<k;i++) if(c[k][i]==1&&color[i]==color[k]) return 0;原创 2015-10-25 11:13:21 · 657 阅读 · 0 评论 -
硬币兑换
#include <stdio.h> #include <string.h> int Answer;int main(void) { int T, test_case; int types,coin[11],changes; int i,j; int m[64002]; // freopen("input.txt", "r", stdin); setb原创 2015-10-25 11:11:59 · 696 阅读 · 0 评论 -
匈牙利算法示例
#include <stdio.h> #include <string.h> int N,M; int map[201][201]; int pair[201],visit[201]; int num;int dfs(int v) { int i; if(visit[v] == 0) { visit[v] = 1; for(i = 1; i <原创 2015-10-25 11:08:37 · 506 阅读 · 0 评论 -
dfs穷举
#include <stdio.h> #include <string.h>int Answer, N, sum; int map[13][13]; int visited[13]; void dfs(int v, int k) { int i; if(k == N && map[v][1] > 0) { if(sum + map[v][1] < Answer原创 2015-10-25 11:05:18 · 531 阅读 · 0 评论 -
prim
#include <stdio.h> #include <string.h> #define MaxInt 0x3f3f3f3fint Answer; int map[102][102]; int visited[102],low[102]; int n; int prim(){ int i,j,pos,min,result=0; memset(visited,0,sizeof(visi原创 2015-10-22 17:28:51 · 792 阅读 · 2 评论 -
田忌
#include <stdio.h> #include <limits.h>int N; int a[101]; int b[101]; int Answer; void sort() { int i,j,tmp; for(i = 1; i <= N; i++) { for(j = i+1; j <= N; j++) {原创 2015-10-25 11:36:07 · 547 阅读 · 0 评论