zoukankan      html  css  js  c++  java
  • 51nod 1416【DFS】

    思路:

    暴力整个图,以这个为起点,然后看一下有没有找到一条路是会指向自己且元素个数>=4;

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    const int mod=1e9+7;
    
    const int N=55;
    
    char ma[N][N];
    bool vis[N][N];
    int n,m;
    int s,t;
    int flag;
    int dx[4]={0,0,-1,1};
    int dy[4]={1,-1,0,0};
    
    void DFS(int x,int y,char tt,int num)
    {
        if(flag)
            return;
        for(int i=0;i<4;i++)
        {
            int xx=x+dx[i];
            int yy=y+dy[i];
            if(xx<0||yy<0||xx>=n||yy>=m||ma[xx][yy]!=tt)
                continue;
            if(xx==s&&yy==t&&num>=3)
            {
                flag=1;
                return;
            }
            if(vis[xx][yy])
                continue;
            vis[xx][yy]=true;
            DFS(xx,yy,tt,num+1);
        }
    }
    
    int main()
    {
        scanf("%d%d",&n,&m);
        for(int i=0;i<n;i++)
            scanf("%s",ma[i]);
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                memset(vis,0,sizeof(vis));
                vis[i][j]=true;
                s=i;
                t=j;
                flag=0;
                DFS(i,j,ma[i][j],0);
                if(flag)
                {
                    puts("Yes");
                    return 0;
                }
            }
        }
        puts("No");
        return 0;
    }
    
    


  • 相关阅读:
    tcp socket http(复制的)
    cas php
    占用字节
    网络基础
    Mbps MB/S Mb/s
    path_info和get_full_path()的区别
    rbac权限管理
    ORM _meta
    Django SQLite3的使用
    url的分发
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/6216765.html
Copyright © 2011-2022 走看看