Skip to main content

ZOHO INTERVIEW QUESTION- CHECKING THE SUDOKO

QUESTION:

Given a 9×9 sudoku we have to evaluate it for its correctness. We have to check both the sub matrix correctness and the whole sudoku correctness.

PROGRAM:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a[9][9],i,j,b[9][9],c[9][9],d[9],l,k;
    for(i=0;i<9;i++)
    {
    for(j=0;j<9;j++)
    {
        scanf("%d",&a[i][j]);
        b[i][j]=0;
        c[i][j]=0;
    }
    }
    for(i=0;i<9;i++)
    {
        for(j=0;j<9;j++)
        {
            b[i][a[i][j]]++;
            if(b[i][j]>1)
            {
            printf("sudoko is invalid");
            exit(0);
            }
        }
    }
    for(j=0;j<9;j++)
    {
        for(i=0;i<9;i++)
        {
            c[a[i][j]][j]++;
            if(c[i][j]>1)
            {
            printf("sudoko is invalid");
            exit(0);
            }
        }
    }
    for(i=0;i<3;i++)
    {
        for(l=0;l<9;l++)
        {
            d[l]=0;
        }
        for(j=(i*3);j<(i*3)+3;j++)
        {
            for(k=j;k<j+3;k++)
            {
                d[a[j][k]]++;
                if(d[a[j][k]]>1)
                {
                    printf("sudoko is invalid");
                    exit(0);
                }
            }
        }
    }
    printf("proper sudoko");
}

Comments

Popular posts from this blog

zoho taxi question (3rd Round)

Taxi application Design a Call taxi booking application -There are n number of taxi’s. For simplicity, assume 4. But it should work for any number of taxi’s. -The are 6 points(A,B,C,D,E,F) -All the points are in a straight line, and each point is 15kms away from the adjacent points. -It takes 60 mins to travel from one point to another -Each taxi charges Rs.100 minimum for the first 5 kilometers and Rs.10 for the subsequent kilometers. -For simplicity, time can be entered as absolute time. Eg: 9hrs, 15hrs etc. -All taxi’s are initially stationed at A. -When a customer books a Taxi, a free taxi at that point is allocated -If no free taxi is available at that point, a free taxi at the nearest point is allocated. -If two taxi’s are free at the same point, one with lower earning is allocated -Note that the taxi only charges the customer from the pickup point to the drop point. Not the distance it travels from an adjacent point to pickup the customer. -If no taxi is free a...

Inser 0 after Consecutive (K times) Of 1 is Found

Example: Input: Number of bits: 12 Bits: 1 0 1 1 0 1 1 0 1 1 1 1 Consecutive K: 2 Output: 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 //JAVA CODE import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc= new Scanner(System. in ); int n = sc.nextInt(); int k=sc.nextInt(); int []a = new int [n]; int temp= 0 ; //Inputs for ( int i= 0 ;i<n;i++) a[i]=sc.nextInt(); //print for ( int i= 0 ;i<n;i++){ System. out .print(a[i]+ " " ); if (a[i]== 1 ){ temp++; if (temp==k) { System. out .print( "0 " ); temp= 0 ; } } else temp= 0 ; } } }

QUESTION You’re given an even number n. If n=4, you have to print the following pattern : 4444 4334 4334 4444 If n=6, then the pattern should be like this : 666666 655556 654456 654456 655556 666666

// JAVA CODE import java.util.*; import java.lang.*; import java.io.*; class zohoquestion{     public static void main(String args[]) {         Scanner sc= new Scanner(System.in);         int n=sc.nextInt();int limit=0;         int s=n;         int a[][]= new int[n][n];         int l=0;int r=n-1;         while(limit<n){             for(int i=l;i<=r;i++){                 for(int j=l;j<=r;j++)                     if(i==l || i==r || j==l || j==r)                     a[i][j]=n;             }             l++;r--;n--;limit++;         }         for(int i=0;i<s;i++){ ...