解题思路

/*
对每个输入字符进行处理,我的样例是直接按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;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 11:15
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 13:54
点赞 评论 收藏
分享
05-29 09:02
门头沟学院 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:23
转人工😡
门口唉提是地铁杀:五次握手了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务