0% found this document useful (0 votes)
19 views2 pages

Stable Marriage Problem: SPOJ Problem Set (Classical)

The document describes the Stable Marriage Problem, which involves finding stable marriages between n men and n women given each person's ranked preferences. Each woman ranks all men in order of preference, and vice versa. The goal is to arrange marriages such that no person would rather leave their partner to marry someone they prefer more. The input provides each person's ranked preferences, and the output lists the stable marriages that are found.

Uploaded by

Miguel Henley
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views2 pages

Stable Marriage Problem: SPOJ Problem Set (Classical)

The document describes the Stable Marriage Problem, which involves finding stable marriages between n men and n women given each person's ranked preferences. Each woman ranks all men in order of preference, and vice versa. The goal is to arrange marriages such that no person would rather leave their partner to marry someone they prefer more. The input provides each person's ranked preferences, and the output lists the stable marriages that are found.

Uploaded by

Miguel Henley
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

SPOJ Problem Set (classical)

243. Stable Marriage Problem


Problem code: STABLEMP
There are given n men and n women. Each woman ranks all men in order of her preference (her first choice, her second choice, and so on). Similarly, each man sorts all women according to his preference. The goal is to arrange n marriages in such a way that if a man m prefers some woman w more than his wife, then w likes her husband more than m. In this way, no one leaves his partner to marry somebody else. This problem always has a solution and your task is to find one.

Input
The first line contains a positive integer t<=100 indicating the number of test cases. Each test case is an instance of the stable marriage problem defined above. The first line of each test case is a positive integer n<=500 (the number of marriages to find). The next n lines are the womans preferences: ith line contains the number i (which means that this is the list given by the ith woman) and the numbers of men (the first choice of ith woman, the second choice,...). Then, the mens preferences follow in the same format.

Output
For each test case print n lines, where each line contains two numbers m and w, which means that the man number m and the woman number w should get married.

Example
Input: 2 4 1 4 3 1 2 2 1 3 3 1 3 4 4 4 3 1 1 3 2 4 2 2 3 1 3 3 1 2 4 3 2 4 7 1 3 4 2 2 6 4 2 3 6 3 5 4 1 6 3 5 1 6 5 6 1 7 3 7 5 6 2 1 4 5 3 2 5 6 4 3 1 6 5 4 3 5 6 5 1 7 6 6 6 3 7

2 4 2 2 1 4 4 1 1 3 7 2 3 4 4 7 7 4 7 4 5 6 5 2 4 4 5 3 2 3 3 2 3 2 7 1 4 7 7 6 7 6 2 7 4 5 4 5 7 1 5 2 2 1 1 1 2 1 2 1

7 1 7 4 2 6 5 3

Output: 1 3 2 2 3 1 4 4 1 4 2 5 3 1 4 3 5 7 6 6 7 2

Warning: large Input/Output data, be careful with certain languages Added by: Darek Dereniowski Date: 2004-12-13 Time limit: 1s-3s Source limit:50000B Languages: All Resource: problem known as the Stable Marriage Problem

You might also like