HDU 1181:变形课

来源:互联网 发布:通知栏网络图标不见了 编辑:程序博客网 时间:2024/06/05 00:53

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1181


很水的搜索题,结果提交错了,输入控制的锅。


AC代码:

#include <iostream>#include <stdio.h>#include <queue>#include <string.h>#include <vector>using namespace std;///四个搜索方向上右下左int dir[4][2] = {{-1,0},{0,1},{1,0},{0,-1}};const int s = 'b'-'a';const int e = 'm'-'a';vector<int>node[30];char str[10000];int vis[30];bool bfs(){    int u,v;    vis[s] = 1;    queue<int>qu;    qu.push(s);    while(!qu.empty())    {        u = qu.front();        qu.pop();        if(u == e)            return true;        for(int i = 0; i < node[u].size(); i++)        {            v = node[u][i];            if(vis[v] == 0)            {                vis[v] = 1;                qu.push(v);            }        }    }    return false;}int main(){    for(int i = 0; i < 30; i++)        node[i].clear();    while(~scanf("%s",str))    {        if(strcmp(str,"0")==0)        {            memset(vis,0,sizeof(vis));            if(bfs())                printf("Yes.\n");            else                printf("No.\n");            for(int i = 0; i < 30; i++)                node[i].clear();            int flag = 1;            if(flag) continue;        }        int len = strlen(str);        int from = str[0]-'a';        int to = str[len-1]-'a';        node[from].push_back(to);    }    return 0;}


原创粉丝点击