hdu 1181 变形课
来源:互联网 发布:数据库系统原理苗雪兰 编辑:程序博客网 时间:2024/05/16 07:41
很不错的一道搜索题,思路是讲每个单词的首尾单词找出来,用ans[x][y]数组进行标记,表示从x-----y存在,还必须要有b开头的字母,所以要进行判断。并将字母转化为数字处理,看起来更熟悉。
#include<iostream>
#include<cstdio>
#include<cstring>
#include <memory>
using namespace std;
#define max 27
bool ans[max][max];
char a[300];
bool dfs(int x,int y)
{
if(y==12) {return true;}
for(int i=0;i<=26;i++)
{
if(ans[y][i])
{
ans[y][i]=false; //标记走过
if(dfs(y,i)) return true;
ans[y][i]=true; //回溯
}
}
return false;
}
int main()
{
int flag=0;
memset(ans,false,sizeof(ans));
while(scanf("%s",a)!=EOF)
{
int i;
if(a[0]=='0')
{
if(flag==0) break;
for( i=0;i<=26;i++)
{
if(ans[1][i])
{
ans[1][i]=false;
if(dfs(1,i))
{
printf("Yes.\n");
break;
}
}
}
if(i==27) printf("No.\n");
memset(ans,false,sizeof(ans));
flag=0;
}
else
{
flag=1;
int len=strlen(a);
int x=a[0]-'a';
int y=a[len-1]-'a';
ans[x][y]=true;
}
}
return 0;
}
- hdu 1181 变形课
- HDU 1181 变形课
- hdu 1181 变形课
- hdu 1181 变形课
- HDU 1181 变形课
- hdu 1181 变形课
- hdu 1181 变形课
- hdu 1181 变形课
- HDU 1181 变形课
- hdu 1181 变形课
- 变形课 hdu 1181
- hdu-1181-变形课
- HDU 1181 变形课
- HDU 1181 变形课
- HDU 1181【变形课】
- hdu-1181-变形课
- HDU 1181 变形课
- hdu 1181 变形课
- GBK与UTF-8的区别
- Hibernate继承映射
- iOS调试证书
- SSH2二次学习
- C语方复杂指针解读
- hdu 1181 变形课
- 动态创建表达式树
- uva 110 Meta-Loopless Sorts
- C/S程序调试
- PHP中$_SERVER的详细参数与说明
- java,python守护进程守护线程Daemon(经典好文)
- UIPanGestureRecognizer学习笔记
- 写代码就像写作文
- 让Android UI性能更高效