zoukankan      html  css  js  c++  java
  • 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.。

    代码实现:

  • 相关阅读:
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    Distributing Ballot Boxes HDU
    Queue HDU
    Cup HDU
  • 原文地址:https://www.cnblogs.com/jiangjing/p/2947033.html
Copyright © 2011-2022 走看看