摘要: 1A#include #include #include #define INF 0x3f3f3f3fusing namespace std;int grid[105][205],dist[105][205],n,p;int floyd(){ int k,i,j,ans=INF,ans1,minc=0; for (i=1;i dist[i][k]+dist[k][j]) dist[i][j]=dist[i][k]+dist[k][j]; for (i=1;ians1 && ans1>=0) { ans=ans1... 阅读全文
posted @ 2013-12-18 18:27 单调的幸福 阅读(174) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #define INF 0x3f3f3f3fusing namespace std;int grid[505][505],dist[505],visit[505],n;int prime(){ int num=1,k,i,ans=0,minc; memset (visit,0,sizeof(visit)); for (i = 1; i <= n; i++) dist[i] = grid[1][i]; visit[1]=1; dist[1]=0; while(num++<n) { ... 阅读全文
posted @ 2013-12-17 11:31 单调的幸福 阅读(178) 评论(0) 推荐(0) 编辑
摘要: prim或kruscal都可以#include #include #include #include #define INF 0x3f3f3f3fusing namespace std;char g[2005][8];int grid[2005][2005],dist[2005],visit[2005],n;int dis(int i,int j){ int count=0,k; for(k=0;k<7;k++) if(g[i][k]!=g[j][k]) count++; return count;}int prime(){ int num=... 阅读全文
posted @ 2013-12-17 10:54 单调的幸福 阅读(241) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #define INF 0x3f3f3f3fusing namespace std;double dist[201],grid[201][201];int visit[201],n;structnode{ double x,y;}g[201];double Dijkstra(){ double maxn,minc; int num=1,k,i; memset (visit,0,sizeof(visit)); for (i = 1; i <= n; i++) dist[i] = g... 阅读全文
posted @ 2013-12-16 21:12 单调的幸福 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 求负环自然要用 belllman#include #include int F,n,m,w,p,dist[501];structnode{ int s,e,t;}grid[5500];int bellman(){ int i,k; memset (dist,0,sizeof (dist)); for (k=1;k dist[ grid[i].e ]+grid[i].t) dist[ grid[i].s ]=dist[ grid[i].e ]+grid[i].t; for (i=1;i dist[ grid[i].e ]+grid[i].t) ... 阅读全文
posted @ 2013-12-15 20:52 单调的幸福 阅读(171) 评论(0) 推荐(0) 编辑
摘要: Bellman-ford算法N次迭代就可以判断图中是否有“负环”。#include #include int n,m,s;double d[100],v;structnode{ int a,b; double rate,com;}g[200];int bellman() { double z; int i,k,x,y; memset(d,0,sizeof(d)); d[s]=v; for (k=1;kd[y] ) d[y]=z; //判断有无正环,有的话就可以无限增值 } for (i=1;id[y] ) return 1; ... 阅读全文
posted @ 2013-12-13 21:49 单调的幸福 阅读(231) 评论(0) 推荐(0) 编辑
摘要: #include#include#define INF 0x3f3f3f3fint grid[102][102],dist[102],d[102],in[102],ans=INF,n,m;structnode{ int P,L,X;}g[102];int Dijkstra(){ int i,k,num=1,minc=INF,min; memset (dist,0x3f,sizeof(dist)); memset(d,0,sizeof(d)); dist[1]=0; while (num++dist[k]+grid[k][i]) ... 阅读全文
posted @ 2013-12-12 22:08 单调的幸福 阅读(142) 评论(0) 推荐(0) 编辑
摘要: #include#includechar a[35][100],b[100],c[100];int n;double grid[35][35];int exc(char str[100]){ for (int i=0;igrid[i][j]) grid[i][j]=m; } for (i=0;i1) return 1; return 0;}int main(){ int i=1,j,m; double rate; while(scanf("%d",&n)!=EOF) { ... 阅读全文
posted @ 2013-12-10 22:00 单调的幸福 阅读(158) 评论(0) 推荐(0) 编辑
摘要: #includeint n,ans = 0,map[21][21],set[21];void dfs(int x, int sum){ int i,m; if(x>n) { if(sum > ans) ans = sum; return; } m = 0; set[x] = 1; for(i = 1; i <= x; i ++) if(set[i] == 2) m += map[i][x]; dfs(x + 1, sum + m); m = 0; s... 阅读全文
posted @ 2013-12-10 20:04 单调的幸福 阅读(215) 评论(0) 推荐(0) 编辑
摘要: #include#include int map[10][10],row[10][10],col[10][10],grid[10][10];int DFS(int x,int y){if(x==9)return 1;if(map[x][y]){if(y==8)return DFS(x+1,0);elsereturn DFS(x,y+1);}else{int k=x/3*3+y/3,flag=0;for(int i=1;i<=9;i++)if(!row[x][i] && !col[y][i] && !grid[k][i]){map[x][y]=i;row[x 阅读全文
posted @ 2013-12-10 10:25 单调的幸福 阅读(194) 评论(0) 推荐(0) 编辑