竞赛讨论区 > 解题思路
头像
易水飞霜
发布于 2020-07-18 22:32
+ 关注

解题思路

/*
对每个输入字符进行处理,我的样例是直接按ASCII码存入。当四个格子的和为399时,四个格子必然包含face四个字符。
另:本算法还可以进行空间优化。当输入第n行的数据时,需要使用n-1行的数据进行计算,计算结束之后n-1行可以删除。因此本题只需要两个一维数组即可完成计算。对于数组长度为50的情况下优化程度不高,但如果数组长度很长的话,还是有优化的必要的。
*/
#include<stdio.h>
int main()
{
    int a[50][50],n,m;
    int i,j,ans;
    char c;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
            c=10;
            while(c==10) c=getchar();
            a[i][j]=c;
        }
    m--;
    n--;
    ans=0;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            if(a[i][j]+a[i][j+1]+a[i+1][j]+a[i+1][j+1]==399) ans++;
    printf("%d\n",ans);
    return 0;
}

全部评论

(0) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐