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 <stdio.h>
#include <string.h>
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;
}
592

被折叠的 条评论
为什么被折叠?



