CCC '14 S2 - Assigning Partners

View as PDF

Submit solution

Points: 5
Time limit: 2.0s
Memory limit: 256M

Problem type
Canadian Computing Competition: 2014 Stage 1, Junior #5, Senior #2

The CEMC is organizing a workshop with an activity involving pairs of students. They decided to assign partners ahead of time. You need to determine if they did this consistently. That is, whenever A is a partner of B, then B is also a partner of A, and no one is a partner of themselves.

Input Specification

The input consists of three lines. The first line consists of an integer N (1 < N \le 30), which is the number of students in the class. The second line contains the first names of the N students separated by single spaces. (Names contain only uppercase or lowercase letters, and no two students have the same first name). The third line contains the same N names in some order, separated by single spaces.

The positions of the names in the last two lines indicate the assignment of partners: the ith name on the second line is the assigned partner of the ith name on the third line.

Output Specification

The output will be good if the two lists of names are arranged consistently, and bad if the arrangement of partners is not consistent.

Sample Input 1

Ada Alan Grace John
John Grace Alan Ada

Output for Sample Input 1


Explanation for Output for Sample Input 1

Ada and John are partners, and Alan and Grace are partners. This arrangement is consistent.

Sample Input 2

Rich Graeme Michelle Sandy Vlado Ron Jacob
Ron Vlado Sandy Michelle Rich Graeme Jacob

Output for Sample Input 2


Explanation for Output for Sample Input 2

Graeme is partnered with Vlado, but Vlado is partnered with Rich. This is not consistent. It is also inconsistent because Jacob is partnered with himself.


  • 0
    Orion222  commented on Jan. 15, 2024, 4:04 a.m.

    my bad for that comment i got it now

  • -1
    live7878787  commented on Nov. 7, 2023, 8:05 p.m.

    I don't understand why I made a pair for each "column" and tests don't pass. I have even written tests with values from and they pass. Maybe I do IO in C# in incompatible way with your platform?

  • -10
    Orion222  commented on July 4, 2020, 7:37 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.

    • 13
      AlanL  commented on July 4, 2020, 9:19 p.m.

      That's not what the problem is asking you to do. I'm surprised you got that many test cases right. You're supposed to be checking if each of the two names are being matched consistently, and the two partners are always partnered up with each other.

    • 5
      maxcruickshanks  commented on July 4, 2020, 9:15 p.m. edit 5

      Your solution is incorrect: you should try thinking of another solution to verify the partners are valid. If you're still stumped, try looking at the test cases you get wrong (namely, 2a, 2b, and 5a).

  • 23
    2rpy  commented on Jan. 7, 2019, 1:17 a.m. edited

    Many ways to do it.