zoukankan      html  css  js  c++  java
  • ZOJ3944People Counting<暴力/枚举>

    题意:输入一张照片,给出人物的特征,判断有多少个人。

    .O.
    /|
    (.)
    

    思路:按照3*3的图统计,只要有一个点符合就加1
    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    typedef long long  ll;
    const int maxn=1e2+10;
    int T,n,m;
    char s[maxn][maxn];
    
    bool check(int x,int y)
    {
        if (1 <= x&&x <= n && 1 <= y + 1 && y + 1 <= m&&s[x][y + 1] == 'O') return true;//右
        if (1 <= x + 1 && x + 1 <= n && 1 <= y && y <= m&&s[x + 1][y] == '/') return true;//下
        if (1 <= x + 1 && x + 1 <= n && 1 <= y + 1 && y + 1 <= m&&s[x + 1][y + 1] == '|') return true;//右下
        if (1 <= x + 1 && x + 1 <= n && 1 <= y + 2 && y + 2 <= m&&s[x + 1][y + 2] == '\') return true;//下右右//'\'的表示方法
        if (1 <= x + 2 && x + 2 <= n && 1 <= y  && y <= m&&s[x + 2][y] == '(') return true;//下下
        if (1 <= x + 2 && x + 2 <= n && 1 <= y + 2 && y + 2 <= m&&s[x + 2][y + 2] == ')') return true;//下下右右
        return false;
    }
    
    int main ()
    {
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d%d",&n,&m);
            for(int i = 1 ; i <=n ; i++)
                scanf("%s",s[i]+1);
            int ans=0;
            for(int i =-1;i<=n;i++)
                for(int j=-1;j<=m;j++)
                {
                    if(check(i,j))ans++;
                }
            printf("%d
    ",ans);
        }
        return 0;
    }

    想的太多,做的太少。
  • 相关阅读:
    Vue.js
    docker搭建pxc
    mkvirtualenv管理python版本
    gitlab
    centos7安装kvm及kvm管理
    centos7安装docker
    【从NIO到Netty】8.零拷贝案例2-网络传输
    【从NIO到Netty】7.零拷贝案例1-复制文件
    【从NIO到Netty】6.零拷贝介绍
    【从NIO到Netty】5.NIO EchoServer
  • 原文地址:https://www.cnblogs.com/pealicx/p/6115639.html
Copyright © 2011-2022 走看看