Coding | Mcqs | Multiple choice questions | Informative | Computer Science | Engineering | Aptitude | Quants | Verbal

INFEED

Daily Challenge May 2:

 C lang:


#include<stdio.h>

#include<stdlib.h>

char mat[50][50],str[50];

int presentInRange(int sRow,int sCol,int eRow,int eCol)

{

    char original[50],reverse[50];

    memset(reverse,'\0',sizeof(char)*50);

    memset(original,'\0',sizeof(char)*50);

    int l=0,k=abs(sRow-eRow)+abs(sCol-eCol);

    for(int i=sRow;i<=eRow;i++)

    {

        for(int j=sCol;j<=eCol;j++)

        {

            original[l++]=mat[i][j];

            reverse[k--]=mat[i][j];

        }

    }

    return strstr(original,str)!=NULL || strstr(reverse,str)!=NULL;

}

int main()

{int R,C;

scanf("%d %d\n",&R,&C);

for(int i=0;i<R;i++)

{

    for(int j=0;j<C;j++)

    {

        scanf("%c ",&mat[i][j]);

    }

}

scanf("%s",str);

if(presentInRange(0,0,0,C-1))printf("Top");

else if(presentInRange(0,C-1,R-1,C-1))printf("Right");

else if(presentInRange(R-1,0,R-1,C-1))printf("Bottom");

else if(presentInRange(0,0,R-1,0))printf("Left");

else printf("-1");

}

Post a Comment

Previous Post Next Post