HDU 1181 变形记 (DFS / Floyd)
来源:互联网 发布:淘宝mp3 编辑:程序博客网 时间:2024/06/06 19:38
DFS做法,没有什么可讲的,注意回溯一下。
//DFS做法#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#define PI acos(-1.0)#define max(a,b) (a)>(b)? (a):(b)#define min(a,b) (a)>(b)? (b):(a)#define INT_MIN -0x7FFFFFFF#define INT_MAX 0x7FFFFFFFchar str[100];char data[300][2];int vis[300];int n,flag;void dfs(int x,char ch){ int i,j,k; char c; if(ch=='m') { flag=1; return ; } for(i=1;i<=n;i++) { if(vis[i]) continue; if(data[i][0]==ch) { vis[i]=1; dfs(i,data[i][1]); vis[i]=0;//注意回溯 } }}int main(){ // freopen("in.txt","r",stdin); int i,j,k; while(scanf("%s",str)!=EOF) { n=0; while(str[0]!='0') { data[++n][0]=str[0]; int len=strlen(str); data[n][1]=str[len-1]; scanf("%s",str); } flag=0; memset(vis,0,sizeof(vis)); for(i=1;i<=n;i++) { if(data[i][0]=='b') { dfs(i,data[i][1]); } } if(flag) printf("Yes.\n"); else printf("No.\n"); } return 0;}
图论 求最短路中,求所有定点之间的最短路---Floyd算法
先建图,存储为邻接矩阵,Floyd 算法即3重循环,最外一层循环是,把某个点加入后是否可以构成新的连通,所有点全部加入,即可以得到最终的可以最大到达的图
代码
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#define max(a,b) (a)>(b)? (a):(b)#define min(a,b) (a)>(b)? (b):(a)#define INT_MIN -0x7FFFFFFF#define INT_MAX 0x7FFFFFFchar map[30][30];int main(){ //freopen("in.txt","r",stdin); int i,j,k; char str[100]; while(scanf("%s",str)!=EOF) { memset(map,0,sizeof(map)); while(strcmp(str,"0")!=0) { int len=strlen(str); map[str[0]-'a'][str[len-1]-'a']=1; scanf("%s",str); } for(k=0;k<='z'-'a';k++) { for(i=0;i<='z'-'a';i++) { for(j=0;j<='z'-'a';j++) { if(map[i][j]) continue; if(map[i][k] && map[k][j]) map[i][j]=1; } } } if(map['b'-'a']['m'-'a']) printf("Yes.\n"); else printf("No.\n"); } return 0;}
- HDU 1181 变形记 (DFS / Floyd)
- [floyd]HDU 1181变形课
- HDOJ 1181 变形课 DFS & BFS & Floyd
- hdu 1181变形课(DFS)
- HDU 1181 变形课 (dfs)
- HDU 1181 变形课 (DFS)
- hdu-1181 变形课(DFS)
- hdu 1181 变形课(dfs)
- HDU 1181 变形课(dfs)
- HDU 1181 变形课(DFS)
- HDU 1181 变形课(DFS)
- 【HDU】-1181-变形课(DFS)
- HDU 1181变形课(DFS)
- HDU 1181 变形课(DFS)
- HDU 1181变形课 (DFS)
- HDU 1181 变形课 (DFS)
- hdu 1181 变形课(DFS)
- hdu 1181 变形课 (dfs)
- SolrCloud 4.3.1+Tomcat 7安装配置实践
- 凸度的计算
- Linux 网络编程及底层实现过程
- sqlplus 使用笔记
- FastReport.Net报表经验记录
- HDU 1181 变形记 (DFS / Floyd)
- VC++深入详解-第三章学习心得
- 关于greenPlum中通过gpfdist导入数据不成功的问题与原因
- (C++设计模式) ------享元模式-- 结构型模式
- BADI的层次分析以及BADI里面的每个块的理解 看完你就懂!
- 仿新浪微博登陆邮箱提示效果!
- [C++基础]volatile关键词
- IO操作之使用zip包压缩和解压缩文件
- 自旋锁spin_lock和raw_spin_lock