80分求助#4#5过不去
查看原帖
80分求助#4#5过不去
389652
MaxYang楼主2021/1/31 16:32

求大佬帮看一下代码 代码如下

#include<iostream>
#include<cstdio>
using namespace std;
int d=0;
int main()
{
    char p;
    int m,n,l;
    cin>>n>>m>>l;
    int a[m+1][n+1];
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        {
        	p=getchar();
            if(p!='.'&&p!='#'){j--;continue;}
            a[j][i]=(p=='.')?1:0;
        }//用0代替'#'用1代替'.' 
    
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        {
            if(a[j][i]!=1)continue;//特判是不是'.'
            if(i+l-1<=n)
            {
              for(int e=1;e<l;e++)
                  if(a[j][i+e]==0)goto out;//纵向 
              d++;
            }
            out:;
            if(j+l-1<=m)
            {   
                for(int e=1;e<l;e++)
                    if(a[j+e][i]==0)goto outt;//横向 
                d++;
            }
            outt:;
            }
    cout<<d;
    return 0;
}
2021/1/31 16:32
加载中...