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
What would happen on forgetting [], while deallocating an array through new?
Consider a c++ template funtion template<class T> T& Add(T a, T b){return a+b ;} if this function is called as T c = Add("SAM", "SUNG"); what will happen? What is the problem in the template declaration/ How to solve the problem.
What is the difference between operator new and the new operator?
How would you stop a class from class from being derived or inherited?The constructer should not be Private,as object instantiation should be allowed.
Is c++ fully object oriented?
What is difference between shallow copy and deep copy? Which is default?
What is pointer -to-members in C++? Give their syntax?
What do you mean by late binding?
In which memory a class gets stored(in heap /in stack)? And why??
Is c++ the hardest programming language?
if int1 has the value 12, int has the value 18, and int3 has the value 21, what is the result: int1 < int2 && int2 < int 3
What is namespace & why it is used in c++?