Q2: Secret Courses Dan’s recently announced that he’s teaching n top-secretcourses nextsemester. Instead of enrolling in them through ACORN, students need to email Dan to express theirinterests. These courses are numbered from 1 to n in some arbitrary order. In particular, if a student named s is interested in taking a course c, they need to send an email to Dan containing the message c s. Note that if a student is interested in taking multiple courses, they need to send multiple emails, one per course. Upon receiving a message c s, Dan looks at the list of students already enrolled in course c. If there’s already a student on the list whose name is too similar to s, Dan assumes s is the same student and ignores the message. Otherwise, he enrolls s in the course. Dan considers two names too similar if and only if they have the same length and differin at most one letter(note that“a” and “A” are considered the same letter). For example, “Josh” and “Josh” are too similar. “Sam” and “CaM” are too similar as well. However, neither“Max” and “Cat” nor“Ann” and “Anne” are too similar. Dan has a lot of students and teaches a lot ofcourses. Consequently, it would take him foreverto process the messages sent by the students one-by-one manually. Instead, he’s asking you to help him out by writing a program that takes in the messages as the input and outputs, for every course, the list of the students enrolled in thatcourse in the order of their enrolments. Input The first line of the inputconsists of two space-separated integers n and m, denoting the number of secretcourses Dan is teaching nextsemester and the number of messages sent by the students, respectively. The m messages will be described in the following m lines in chronological order. The i-th line describes the i-th message and consists of an integer c_i followed by a string s_i. This indicates that a student named s_i wants to enrol in course c_i. Output You should output exactly n lines. The i-th line should contain the names of the students enrolled in the i-th course in the order of enrolment (note that the line would be empty if there were no students enrolled in the course). These names should be separated by single spaces. Sample Input 1 2 6 1 alex 1 Alex 2 sam 1 alix 1 Alix 2 caM Sample Output 1 alex sam Sample 1 Explanation The first line of the input indicates that there are 2 courses and 6 messages to process. Dan ignores the second, fourth, fifth, and sixth messages. The second, fourth, and fifth messages are all ignored because “Alex”, “alix”, and “Alix” are all too similar to “alex”. The sixth message is ignored because “caM”is too similar to “sam”. Sample Input 2 3 16 3 jun 3 Jin 1 Li 2 Kitty 2 Josh 3 Bob 1 Dave 2 Jose 1 David 3 Rob 3 Anne 3 Ann 2 Kevin 2 Lara 1 ALI 3 Xin Sample Output 2 Li Dave David ALI Kitty Josh Kevin Lara jun Bob Anne Ann Xin

Operations Research : Applications and Algorithms
4th Edition
ISBN:9780534380588
Author:Wayne L. Winston
Publisher:Wayne L. Winston
Chapter19: Probabilistic Dynamic Programming
Section19.4: Further Examples Of Probabilistic Dynamic Programming Formulations
Problem 7P
icon
Related questions
Question

Q2: Secret Courses Dan’s recently announced that he’s teaching n top-secretcourses nextsemester. Instead of enrolling in them through ACORN, students need to email Dan to express theirinterests. These courses are numbered from 1 to n in some arbitrary order. In particular, if a student named s is interested in taking a course c, they need to send an email to Dan containing the message c s. Note that if a student is interested in taking multiple courses, they need to send multiple emails, one per course. Upon receiving a message c s, Dan looks at the list of students already enrolled in course c. If there’s already a student on the list whose name is too similar to s, Dan assumes s is the same student and ignores the message. Otherwise, he enrolls s in the course. Dan considers two names too similar if and only if they have the same length and differin at most one letter(note that“a” and “A” are considered the same letter). For example, “Josh” and “Josh” are too similar. “Sam” and “CaM” are too similar as well. However, neither“Max” and “Cat” nor“Ann” and “Anne” are too similar. Dan has a lot of students and teaches a lot ofcourses. Consequently, it would take him foreverto process the messages sent by the students one-by-one manually. Instead, he’s asking you to help him out by writing a program that takes in the messages as the input and outputs, for every course, the list of the students enrolled in thatcourse in the order of their enrolments.

Input The first line of the inputconsists of two space-separated integers n and m, denoting the number of secretcourses Dan is teaching nextsemester and the number of messages sent by the students, respectively. The m messages will be described in the following m lines in chronological order. The i-th line describes the i-th message and consists of an integer c_i followed by a string s_i. This indicates that a student named s_i wants to enrol in course c_i. Output You should output exactly n lines. The i-th line should contain the names of the students enrolled in the i-th course in the order of enrolment (note that the line would be empty if there were no students enrolled in the course). These names should be separated by single spaces. Sample Input 1

2 6

1 alex

1 Alex

2 sam

1 alix

1 Alix

2 caM

Sample Output 1

alex

sam

Sample 1 Explanation The first line of the input indicates that there are 2 courses and 6 messages to process. Dan ignores the second, fourth, fifth, and sixth messages. The second, fourth, and fifth messages are all ignored because “Alex”, “alix”, and “Alix” are all too similar to “alex”. The sixth message is ignored because “caM”is too similar to “sam”.

Sample Input 2

3 16

3 jun

3 Jin

1 Li

2 Kitty

2 Josh

3 Bob

1 Dave

2 Jose

1 David

3 Rob

3 Anne

3 Ann

2 Kevin

2 Lara

1 ALI

3 Xin

Sample Output 2

Li Dave David ALI

Kitty Josh Kevin Lara

jun Bob Anne Ann Xin

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Problems on Dynamic Programming
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
Operations Research : Applications and Algorithms
Operations Research : Applications and Algorithms
Computer Science
ISBN:
9780534380588
Author:
Wayne L. Winston
Publisher:
Brooks Cole