zoukankan      html  css  js  c++  java
  • Gym

    题目:http://codeforces.com/gym/100971/problem/J 

    题目理解:chrome翻译的其中一段文字:从每个自由细胞中,只有通过共享一侧的细胞移动,才有可能到达所有其他自由细胞。

    所有细胞是连通的,AB之间连通。

    #include<vector>
    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        int n, m;
        cin >> n >> m;
        int cnt = 0;
        bool flag = true;
        vector<string> a(n);//定义存储n个string类型元素的向量容器
        for (int i = 0; i < n; i++)
        {
            cin >> a[i];//按行输入,输入第i行
        }
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {//cnt计算内部点(i,j)(非#点)周围有几个不是#
                if (a[i][j] == '#')//如果(i,j)这个点是#退出当前循环,继续下一个循环
                    continue;
                cnt = 0;
                if (i != 0 && a[i - 1][j] != '#')//如果该点的上方不是#,cnt++
                    cnt++;
                if (i != n - 1 && a[i + 1][j] != '#')
                    cnt++;
                if (j != 0 && a[i][j - 1] != '#')
                    cnt++;
                if (j != m-1 && a[i][j + 1] != '#')
                    cnt++;
                if (cnt >= 3)//若(i,j)的四周有3或4个不是#,即存在T型区域,输出YES并结束
                {
                    cout << "YES" << endl;
                    return 0;
                }
                if (cnt == 1)//如果内部点(非#点)存在四周只有一个不是#,则不存在
                    flag = false;//false赋值给flag
            }
        }
        if (flag)
            cout << "YES" << endl;
        else
            cout << "NO" << endl;
        return 0;
    }
      

  • 相关阅读:
    sys模块
    os模块
    datetime模块
    time模块

    random模块
    python文件两种用途
    模块的搜索路径
    如何修改cnblogs的文本编辑器
    socket状态
  • 原文地址:https://www.cnblogs.com/XuYiting/p/9323281.html
Copyright © 2011-2022 走看看