Consider an undirected graph G = (V,E), in which each node u 2 V may be colored with some color between 1 and C. Your task is to write a program that determine the colors for the uncolored nodes in the graph such that • For all edges (u, v) 2 E, u and v have different colors. • The number of additional colors needed is minimum. Input (Standard input): Includes multiples lines. The first line contains two integers 1 n 1000, 1 m 100000 that correspond to the number of nodes and edges, respectively. Each of the following m lines contain two integers u and v, separated by one space, to denote an edge from u to v. Nodes are numbered from 1 to n. The last line contains n integers that are the colors of the nodes. Uncolored nodes are indicated with color 0. Output (Standard output): The first line contains an integer 0 D n that is the number of additional colors needed to color all the uncolored nodes in the graph. The next line contains n positive integers that are colors of the nodes. Your program in Java/C++ that solves the above problem following the above input/ output format. A makefile and/or compiling instruction should be included if you have multiple source files. Your program should not take more than 2 minutes to terminate on any graph within the limits described in the Input section.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter8: Arrays And Strings
Section: Chapter Questions
Problem 24PE
icon
Related questions
Question

Consider an undirected graph G = (V,E), in which each node u 2 V may be colored

with some color between 1 and C. Your task is to write a program that determine the colors

for the uncolored nodes in the graph such that

• For all edges (u, v) 2 E, u and v have different colors.

• The number of additional colors needed is minimum.

Input (Standard input): Includes multiples lines. The first line contains two integers

1 n 1000, 1 m 100000 that correspond to the number of nodes and edges,

respectively.

Each of the following m lines contain two integers u and v, separated by one space,

to denote an edge from u to v. Nodes are numbered from 1 to n.

The last line contains n integers that are the colors of the nodes. Uncolored nodes

are indicated with color 0.

Output (Standard output): The first line contains an integer 0 D n that is the

number of additional colors needed to color all the uncolored nodes in the graph.

The next line contains n positive integers that are colors of the nodes.

Your program in Java/C++ that solves the above problem following the above input/

output format. A makefile and/or compiling instruction should be included if

you have multiple source files. Your program should not take more than 2 minutes to

terminate on any graph within the limits described in the Input section.

II. A report outline the numbers of colors used by your program on random graphs

assuming no nodes have any color at the beginning. The report should have at least

INSERT SHORTTITLE COMMAND IN PREAMBLE

A sudoku puzzle that is equivalent to an instance of our super graph coloring

with 81 nodes

two parts. Run your program for graphs of sizes 50, 100,..., 500 and report both the

number of used colors and the maximum degree.

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Polynomial time
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning