Sereja likes to hang around trees. A tree is an undirected graph on N vertices with N-1 edges and no cycles. Sereja has his own peculiar way of comparing two trees. To describe it, let's start with the way Sereja stores a tree. For every tree, Sereja has a value V – the root of the tree, and for every vertex i, he has an ordered list Q[i] with L[i] elements – Q[i][1], Q[i][2], ..., Q[i][L[1]] which are children of the vertex i. Sereja assumes two trees to be equal if their roots are the same and for every i, the ordered list Q[i] is the same in both the trees that Sereja compares. So if Sereja has tree#1 given as [[V=1, Q[1]=[2, 3], Q[2]=[], Q[3]=[] and tree#2 given as [V=1, Q[1]=[3, 2], Q[2]=[], Q[3]=[]], they will be considered different because Q[1] in the first tree is not equal to Q[1] in the second tree. For any vertex i, Sereja calls number of vertices adjacent to it as E[i). Given an array C of N elements, Let f(C) be the number of different trees (in Sereja's representation) such that there exists a permutation P[1], P[2], ... , P[N] so that E[P[1]]=C[1], E[P[2]]= C[2], ... , E[P[N]]=C[N]. Sereja gives you the array C. You have to compute the number f(C) modulo 1000000007 (10+7).

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

JAVA Code required:

Example
Input:
4
1 1 2 2

Output:
72

Sereja likes to hang around trees. A tree is an undirected graph on N vertices with
N-1 edges and no cycles. Sereja has his own peculiar way of comparing two trees.
To describe it, let's start with the way Sereja stores a tree. For every tree, Sereja
has a value V– the root of the tree, and for every vertex i, he has an ordered list
Q[i] with L[i] elements – Q[i][1], Q[i][2], ..., Q[iLI] which are children of the
vertex i. Sereja assumes two trees to be equal if their roots are the same and for
every i, the ordered list Q[i] is the same in both the trees that Sereja compares.
So if Sereja has tree#1 given as [V=1, Q[1]=[2, 3], Q[2]=[], Q[3]=0] and tree#2
given as [V=1, Q[1]=[3, 2], Q[2]=[], Q[3]=[]], they will be considered different
because Q[1] in the first tree is not equal to Q[1] in the second tree.
For any vertex İ, Sereja calls number of vertices adjacent to it as E[i).
Given an array C of N elements, Let f(C) be the number of different trees (in
Sereja's representation) such that there exists a permutation P[1], P[2], ... , P[N]
so that E[P[1]]=C[1], E[P[2]]= C[2], ... , E[P[N]]=C[N].
Sereja gives you the array C. You have to compute the number f(C) modulo
1000000007 (109+7).
Transcribed Image Text:Sereja likes to hang around trees. A tree is an undirected graph on N vertices with N-1 edges and no cycles. Sereja has his own peculiar way of comparing two trees. To describe it, let's start with the way Sereja stores a tree. For every tree, Sereja has a value V– the root of the tree, and for every vertex i, he has an ordered list Q[i] with L[i] elements – Q[i][1], Q[i][2], ..., Q[iLI] which are children of the vertex i. Sereja assumes two trees to be equal if their roots are the same and for every i, the ordered list Q[i] is the same in both the trees that Sereja compares. So if Sereja has tree#1 given as [V=1, Q[1]=[2, 3], Q[2]=[], Q[3]=0] and tree#2 given as [V=1, Q[1]=[3, 2], Q[2]=[], Q[3]=[]], they will be considered different because Q[1] in the first tree is not equal to Q[1] in the second tree. For any vertex İ, Sereja calls number of vertices adjacent to it as E[i). Given an array C of N elements, Let f(C) be the number of different trees (in Sereja's representation) such that there exists a permutation P[1], P[2], ... , P[N] so that E[P[1]]=C[1], E[P[2]]= C[2], ... , E[P[N]]=C[N]. Sereja gives you the array C. You have to compute the number f(C) modulo 1000000007 (109+7).
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY