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
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
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
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 2 images