hdu 1181(dfs)变形课
#include<stdio.h> #include<string.h> int visited[1000],n,flag; char a[1000][3]; void dfs( char str) { int i; char temp; if (str== 'm' ) { flag=1; return ; } for (i=1;i<=n;i++) { if (flag==1) break ; if (visited[i]==0&&a[i][1]==str) { temp=str; visited[i]=-1; str=a[i][2]; dfs(str); visited[i]=0; str=temp; } } } int main() { int len; char b[100],temp= 'b' ; n=0; while ( scanf ( "%s" ,b)!=EOF) { if (b[0]== '\0' ) break ; if (b[0]== '0' ) { flag=0; dfs(temp); if (flag!=0) printf ( "Yes.\n" ); else printf ( "No.\n" ); n=0; } else { n++; visited[n]=0; a[n][1]=b[0]; len= strlen (b); a[n][2]=b[len-1]; } } return 0; } |
思路:深搜的思想,比较简单的dfs,注意下如果就一个单词:bim的话输出的是yes.。
代码实现:
posted on 2013-03-06 22:01 后端bug开发工程师 阅读(444) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步