搜寻MH370

Time Limit: 1 Sec  Memory Limit: 128 MB

Description

MH370航班为马来西亚航空公司航班,由吉隆坡国际机场飞往北京首都国际机场。该航班飞机型号为美国波音公司的波音777-200ER客机。该航班在2014年3月8日凌晨时,在马来西亚与越南的雷达覆盖边界与空中交通管制失去联系…… 给定一个N*N的字符矩阵地图,要在地图中搜寻连续的“MH370”字样,但该字样必须是横向从左到右的顺序或者纵向从上到下的顺序才符合要求。

Input

多组输入,每组第一行输入一个正整数N,5<=N<=50,然后是N*N的字符矩阵代表地图,字符只包含大写字母和数字。输入以文件尾结束。

Output

输出符合条件的MH370的个数,每组输出独占一行。

Sample Input

5
MH370
MMMMM
MMMMM
MMMMM
073HM
5
MMMM0
MHMM7
M3MM3
M7MMH
M0MMM

Sample Output

1
1

HINT

 

只有横向从左至右的连续的或从上到下连续的MH370才符合 

题解:

字符串查找

#include 
#include 
int main()
{
    int T;
    char a[51][51];
    while(scanf("%d\n",&T)!=EOF)
    {
        int i,j,k,num = 0;
        for(i = 0 ;i < T; i++)
            scanf("%s",a[i]);
             
        for(i = 0 ; i < T ; i++)
            for(j = 0 ;j < T-4;j ++)
                if(a[i][j] == 'M' && a[i][j+1] == 'H' && a[i][j+2] == '3' && a[i][j+3] == '7' && a[i][j+4] == '0' )
                    num++;
                     
        for(j = 0 ;j  < T ;j++)
            for(i = 0 ;i < T-4;i ++)
                if(a[i][j] == 'M' && a[i+1][j] == 'H' && a[i+2][j] == '3' && a[i+3][j] == '7' && a[i+4][j] == '0' )
                    num++;
                 
        printf("%d\n",num);
    }
    return 0;
}

 

你可能感兴趣的:(作业题)