Search in a matrix

QUESTION

Given an n x m matrix, where every row and column is sorted in increasing order, and a number x . \n\nThe task is to find whether element x is present in the matrix or not.\n\nExpected Time Complexity : O(m + n)\n\nInput:\nThe first line of input contains a single integer T denoting the number of test cases. Then T test cases follow. Each test case consists of three lines.\nFirst line of each test case consist of two space separated integers N and M, denoting the number of element in a row and column respectively.\nSecond line of each test case consists of N*M space separated integers denoting the elements in the matrix in row major order.\nThird line of each test case contains a single integer x, the element to be searched.\n\nOutput:\n\nCorresponding to each test case, print in a new line, 1 if the element x is present in the matrix, otherwise simply print 0.\n\nConstraints:\n1<=T<=200\n1<=N,M<=30

ANSWER

#include <stdio.h>
int main()
{ 
   int n,i,j,f,r,c,d,a[20],b[10];
   scanf("%d",&n);
   for(i=1;i<=n;i++)
   {
     scanf("%d %d",&r,&c);
     d=r*c;
     for(j=1;j<=d;j++)
       scanf("%d ",&a[j]);
     scanf("%d",&f);
     for(j=1;j<=d;j++)
     {
        if(f==a[j])
        {
          b[i]=1;
          break;
        }
        else
          b[i]=0;
     }
   }
  for(i=1;i<=n;i++)
    printf("%d\n",b[i]);
	return 0;
}
Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
100% Free SEO Tools - Tool Kits PRO