Board Coloring
Problem Description
In this problem you are given a board in which some of the
elements are placed as shown in diagram below. Each element
represents a color. Fill the other elements in the board,
such that none of the adjacent elements (vertically,
horizontally and diagonally) should be of the same color.
Find out the minimum number of colors that should be used to
fill the blank spaces in the board, so that the above
condition is met. Color representation is -: 0, 1, 2, 3, 4,
5, 6, 7……………………. There is sample board:

For Example:
Given Board :

Matrix representation of board is : [ _ 1 _ _ ] [ 2 _ _ _ ]
[ _ _ 2 _ ] [ 2 _ _ _ ] here blank space is represented by
'_' . Minimum colors to fill this board (given in the
picture)is 4.
Instruction to work with Open PBT Client:
Specify the work directory path in the 'Work directory Path'
field. The path should correspond to your solution Work
directory.
Download the support files by clicking the Get Dev Files.
You will find the problem directories containing:
problem.h file
problem.c file
in your project directory.
Code the solution in.c file inside the problem directory
All required files will be downloaded to your work
directory. Creating additional files is strongly discouraged.
Step 1:
In your Solution File:
Implement your logic in function int color(char board[4][4])
char board[4][4]board is 2 dimensional matrix of order M X
M where M = 4.
You can create more functions if required, but those
functions should be in the same file.

Step 2:
In your solution keep in mind the following constraints.
In this problem you have to write a program that finds the
minimum number of colors needed to fill a board in which
some of the elements are placed in advance.
Function color() will take 2 dimension board as a input.
Function color() returns the minimum number of colors that
could fill the board meeting the given condition.
Board is a 2 dimensional of M X M where M = 4 else return 0
Fill the other elements in the board, such that none of the
adjacent elements (vertically, horizontally and diagonally)
should be of the same color.
The Prototype of the function is
int color(char board[4][4]) This function takes following
arguments.
board is 2 dimensional matrix of order M X M where M = 4.
This function returns minimum no of color by which board can
be filled.
The constraints are:
Board is a 2 dimensional of M X M where M = 4 else return 0
Fill the other elements in the board, such that none of the
adjacent elements (vertically, horizontally and diagonally)
should be of the same color.
Example 1
Input { 2 0 _ 1 } { _ 1 _ _ } { _ 2 _ 0 } { _ _ _ 1 }
Output 5 Explanation: We need a minimum 5 different colors
to complete the board.
Example 2
Input { 2 0 _ 1 3} { _ 1 _ _ 2} { _ 2 _ 0 1} { _ _ _ 1 2} {
_ _ _ _ 0}
Output 0 Explanation: Size of the board is greater than 4X4.
Example 3
Input { _ 0 } { 1 _ }
Output 0 Explanation: Size of the board is less than 4X4.
For C solutions
Header File
:
boardcoloring.h
Function Name
:
int color(char board1[4][4])
File Name
:
boardcoloring.c
For C++ solutions
Header File
:
boardcoloring.h
Class Name
:
BoardColoring
Function Name
:
int color(char board1[4][4])
File Name
:
boardcoloring.c


No Answer is Posted For this Question
Be the First to Post Answer

Post New Answer

More C++ General Interview Questions

how to connect with oracle 9i with server in socket program in c/c++

0 Answers   3i Infotech,


Difference between static global and global?

16 Answers   Microsoft, Symphony, Wipro,


What is the difference between map and hashmap in c++?

0 Answers  


What compiler was used?

6 Answers   Intel,


How do you differentiate between overloading the prefix and postfix increments?

0 Answers  






What are c++ tokens?

0 Answers  


What is the error in the code below and how should it be corrected?

0 Answers  


Can we use resume in error handling i.e. in the catch block

5 Answers   Infosys,


How to detect memory leaks in c++

1 Answers   Mphasis,


What is the maximum combined length of command line arguments including the space between adjacent arguments?

0 Answers  


Write about the members that a derived class can add?

0 Answers  


What does the following do: for(;;) ; a) Illegal b) Loops forever c) Ignored by compiler...not illegal

0 Answers  


Categories