CAT and MBA Entrance Preparation Module 3 – Data Interpretation and Logical Reasoning (DILR)
Arrangement and scheduling sets
Seat people in rows and round tables by placing the tightest clue first, turn precedence rules into every valid schedule, and count what each clue leaves.
What you will learn
- Solve row and round-table arrangements by placing the tightest clue first
- Order tasks under precedence rules and find every valid schedule
- Count the arrangements or schedules a set still allows after each clue
Before you start
What you’ll learn · Before you start
What you will learn
- Solve row and round-table arrangements by placing the tightest clue first
- Order tasks under precedence rules and find every valid schedule
- Count the arrangements or schedules a set still allows after each clue
Before you start
On this page
Six friends can sit in a row in 720 ways but round a table in only 120, and four clues leave one. Seven tasks under eight “before” rules can be done in 15 of 5,040 possible orders, and three more clues leave one.
Arrangement sets ask who sits where; scheduling sets ask what happens when. Both are questions of order, and one method serves both: apply the clue that leaves the fewest cases first, count what is left after each clue, and answer when every case left agrees. Two programs try every case, so each count can be checked.
Round tables count by order: seat the tightest clue first
Six people fill six chairs in a row in 6! = 720 ways, the number of orders of six things. Around a table, turning everyone one seat round gives the same seating, so seat one person first and arrange the other five: 5! = 120. The person seated first turns their links into fixed seats, so seat the one the tightest clue is about.
Arjun, Bina, Chetan, Dia, Eshan and Farida sit round a table, facing the centre. The clues:
- Chetan sits between Dia and Eshan.
- Bina sits immediately on Arjun’s left.
- Eshan does not sit next to Arjun.
- Farida does not sit next to Eshan.
Clue 1 makes a block of three that keeps 12 of the 120 seatings, a tenth, so it goes first, with Chetan seated first. The link comes next and the two rule-outs last. Step through the arrangement clue by clue:
The drawing shows the whole scene; its 6 steps are listed below.
Every step as text
- Seat one person first. Around a table only the order matters, so seat Chetan first, in seat 1, and number the other seats clockwise as seen from above. The other five fill seats 2 to 6 in 5! = 120 ways, against 720 in a row.
- The tightest clue. Clue 1 keeps the fewest seatings, so it goes first. Dia and Eshan take seats 2 and 6, on Chetan's two sides, in 2 orders, and Arjun, Bina and Farida share seats 3 to 5 in 6. That leaves 2 × 6 = 12 seatings.
- A link inside the gap. Facing the centre, your left is the next seat clockwise. Bina on Arjun's left needs two neighbouring seats among 3 to 5, so Arjun and Bina take seats 3 and 4, or 4 and 5, and Farida the seat left over. 4 seatings are left.
- A rule-out. Eshan does not sit next to Arjun. If Eshan is in seat 2, Arjun cannot be in seat 3, so that case keeps only Farida, Arjun and Bina in seats 3 to 5. 3 seatings are left.
- The last rule-out. Farida does not sit next to Eshan. Two of the three seatings put her beside him, and one is left. Clockwise from seat 1 it reads Chetan, Dia, Farida, Arjun, Bina, Eshan.
- Answer from the circle. Arjun, three seats round, sits opposite Chetan. Dia's left is the next seat clockwise, so Farida sits immediately on Dia's left.
The clues leave 12, 4, 3 and 1 seatings. The program tries all 120 and prints the same counts; press Edit, change a clue, and run it again:
"""Six friends at a round table, every seating tried, clue by clue.
Around a table only the order matters, so Chetan is seated first, as the
reference, and the other five fill seats 1 to 5, numbered clockwise when seen
from above: 5! = 120 seatings. Everyone faces the centre, so a person's left-hand
neighbour is the next seat clockwise. The program keeps the seatings that fit
each clue, prints how many are left, and answers two questions at the end.
"""
from itertools import permutations
FRIENDS = ["Arjun", "Bina", "Chetan", "Dia", "Eshan", "Farida"]
def seat(s, name):
return s.index(name)
def left_of(s, name):
return s[(seat(s, name) + 1) % 6]
def right_of(s, name):
return s[(seat(s, name) - 1) % 6]
def next_to(s, a, b):
return b in (left_of(s, a), right_of(s, a))
CLUES = [
("1. Chetan sits between Dia and Eshan",
lambda s: next_to(s, "Chetan", "Dia") and next_to(s, "Chetan", "Eshan")),
("2. Bina sits immediately on Arjun's left", lambda s: left_of(s, "Arjun") == "Bina"),
("3. Eshan does not sit next to Arjun", lambda s: not next_to(s, "Eshan", "Arjun")),
("4. Farida does not sit next to Eshan", lambda s: not next_to(s, "Farida", "Eshan")),
]
print("In a row:", len(list(permutations(FRIENDS))), "seatings")
seatings = [("Chetan",) + rest for rest in permutations([f for f in FRIENDS if f != "Chetan"])]
print("Around the table:", len(seatings), "seatings")
for text, fits in CLUES:
seatings = [s for s in seatings if fits(s)]
print(f"{text}: {len(seatings)} left")
s = seatings[0]
print("Clockwise from Chetan:", ", ".join(s))
print("Opposite Chetan:", s[(seat(s, "Chetan") + 3) % 6])
print("Immediately on Dia's left:", left_of(s, "Dia")) Output
In a row: 720 seatings Around the table: 120 seatings 1. Chetan sits between Dia and Eshan: 12 left 2. Bina sits immediately on Arjun's left: 4 left 3. Eshan does not sit next to Arjun: 3 left 4. Farida does not sit next to Eshan: 1 left Clockwise from Chetan: Chetan, Dia, Farida, Arjun, Bina, Eshan Opposite Chetan: Arjun Immediately on Dia's left: Farida
Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 round_table.py
Runs on this device, in your browser. The first run downloads Python (about 13.5 MB), which is kept for the next runs.
Your run, in this browser
Reading left and right off a drawing seen from above
A drawing of a table is a view from above, but the people in it face the centre. Your left, facing the centre, is the next seat clockwise in the drawing. The page’s left matches a person’s left only at the bottom of the drawing; at the top it is their right.
Checkpoint
Check: Round tables and the tightest clue
A schedule is an order that every rule allows
A college fest needs seven jobs done, one a day for seven days: book the hall (H), confirm the speakers (S), print the posters (P), open ticket sales (T), run the sound check (M), hold the rehearsal (R) and hold the event (E). Eight rules say which job comes first: H and S before P, P before T, H before M, S and M before R, and T and R before E.
An order that keeps every such rule is a topological order: An order of jobs in which every job comes after all the jobs that a rule says must come before it. A set of such rules usually allows several orders., and scheduling sets are built on them. The rules leave room: H and S both have nothing before them, so either can open the week. To find one valid order, repeatedly take a job that no remaining rule holds back and cross out the rules it releases. The figure takes the first such job in alphabetical order:
- being compared or looked at
- being moved or written
- in its final place
- the key, pivot or target
- visited or ruled out
Pseudo-code
-
indeg(v) ← the number of edges into v -
queue ← every node with indeg 0 -
while the queue is not empty: -
u ← dequeue; append u to the order -
for each edge u → v: indeg(v) ← indeg(v) − 1; if it is 0: enqueue v -
if the order misses a node: the graph has a cycle
Order the tasks so that every arrow points forwards. "in k" is a node's in-degree: how many arrows still point into it. Nodes with nothing left pointing in are ready: H and S.
When it finishes: Order: H M S P R T E.
Try your own input
The figure ends on H, M, S, P, R, T, E, one valid schedule of several. The program tries all 5,040 orders, keeps 15 and prints the days each job can take, such as day 4, 5 or 6 for the rehearsal.
"""Seven fest tasks over seven days, every order tried.
H books the hall, S confirms the speakers, P prints the posters, T opens ticket
sales, M runs the sound check, R holds the rehearsal and E is the event, one
task a day. A rule "H before P" means the hall is booked on an earlier day than
the posters are printed. The program keeps the orders that every rule allows,
prints the days each task can take, then applies three more clues one at a time.
"""
from itertools import permutations
RULES = [("H", "P"), ("S", "P"), ("P", "T"), ("H", "M"), ("S", "R"), ("M", "R"), ("T", "E"), ("R", "E")]
def day(order, task):
return order.index(task) + 1
orders = [o for o in permutations("EHMPRST") if all(day(o, a) < day(o, b) for a, b in RULES)]
print(f"The eight rules allow {len(orders)} of the {len(list(permutations('EHMPRST')))} orders")
for task in "HSMPRTE":
print(f" {task} can be on day", ", ".join(str(d) for d in sorted({day(o, task) for o in orders})))
CLUES = [
("1. The sound check is on day 3", lambda o: day(o, "M") == 3),
("2. The speakers are confirmed before the hall is booked", lambda o: day(o, "S") < day(o, "H")),
("3. The posters and the rehearsal are not on neighbouring days",
lambda o: abs(day(o, "P") - day(o, "R")) != 1),
]
for text, fits in CLUES:
orders = [o for o in orders if fits(o)]
print(f"{text}: {len(orders)} left")
if text.startswith("1."):
print(" on day 1 after clue 1:", " or ".join(sorted({o[0] for o in orders})))
print("The schedule, day 1 to day 7:", " ".join(orders[0]))
print("Day 5:", orders[0][4]) Output
The eight rules allow 15 of the 5040 orders H can be on day 1, 2 S can be on day 1, 2, 3 M can be on day 2, 3, 4, 5 P can be on day 3, 4, 5 R can be on day 4, 5, 6 T can be on day 4, 5, 6 E can be on day 7 1. The sound check is on day 3: 6 left on day 1 after clue 1: H or S 2. The speakers are confirmed before the hall is booked: 3 left 3. The posters and the rehearsal are not on neighbouring days: 1 left The schedule, day 1 to day 7: S H M P T R E Day 5: T
Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 schedules.py
Runs on this device, in your browser. The first run downloads Python (about 13.5 MB), which is kept for the next runs.
Your run, in this browser
Checkpoint
Check: Schedules as orders every rule allows
Fixed days cut fifteen schedules to one
Scheduling sets add clues about days to the rules about order. In this set: (1) the sound check is on day 3; (2) the speakers are confirmed before the hall is booked; (3) the posters and the rehearsal are not on neighbouring days. A fixed day alone keeps one order in seven, 720 of 5,040, against the rules’ 15, so the order is rules, fixed day, link, rule-out:
| Step | Schedules left |
|---|---|
| The eight rules | 15 |
| Clue 1: sound check on day 3 | 6 |
| Clue 2: speakers before hall | 3 |
| Clue 3: posters and rehearsal apart | 1 |
One schedule is left, S, H, M, P, T, R, E, and five questions read off the two sets:
| Question | Answer |
|---|---|
| How many schedules do the eight rules allow? | 15 |
| On which days can the rehearsal fall? | 4, 5 or 6 |
| After clue 1, which jobs can be on day 1? | H or S |
| Which job is on day 5? | Ticket sales (T) |
| Who sits opposite Chetan at the round table? | Arjun |
Key idea
Apply the clue that leaves the fewest cases first, in a row, at a table or in a week, and keep the count of what is left after each clue: a question has its answer when every case left agrees.
Checkpoint
Check: Fixed days and the count left
Practise: eleven questions on seats and schedules
NMAT names Analytical Puzzles among its Logical Reasoning topics, SNAP 2026 has a 20-question Analytical & Logical Reasoning section, and CAT 2026 gives its DILR section 40 minutes.
Not affiliated
MySmartCoPilot is not affiliated with the IIMs, GMAC or Symbiosis International University, and every set here is this track’s own.
Eleven untimed questions follow, starting from your weakest idea; a question you miss comes up again later.
Practice that adapts to you
Practise this lesson
11 questions about 5 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.
Four arrangement and scheduling sets, fully worked Pro: opens with a Pro, Premium or Ultimate pass
Four sets of rising difficulty: a row of seven with a block and a gap, a round table of eight, a schedule whose jobs take several days, and a row with two attributes. A program counts the cases left after every clue, so each step of the working can be checked.
In this part:
- Blocks and gaps in a row of seven, case by case
- A round table of eight, anchored by one person
- Jobs that take several days: the longest chain decides
- Two attributes in one grid: interns, chairs and departments
- What each set adds, in numbers
1 runnable example (Python) · about 5 minutes
Opening this part with your pass…
This part opens with any MySmartCoPilot pass.
- Pro pass · 1 week₹79$2.99
- 30 days₹179$5.99
- 1 year₹1,699$45
One payment; a pass never renews. The price shown is the total you pay: no fees or charges are added at checkout.
Passes can’t be bought right now, so this part can’t be opened at the moment. The free part above stands on its own. If you have a pass, enter your licence key.
It also opens every other in-depth part in Learn and every Pro tool. Sales are final, except where the law gives you a right to withdraw, for example in the EU and the UK (refund policy).
Counting what a set allows, and the clue order it suggests Pro: opens with a Pro, Premium or Ultimate pass
Counting the cases a clue keeps, without listing them, tells you which clue to apply first and when a set is close to closing. Nine counts, each worked out by a rule and checked against a full count, are then put to work on the lesson’s sets.
In this part:
- Counting rules, each checked against a full count
- Clue order, measured on the round table
- One grid or pair tables
1 runnable example (Python) · about 4 minutes
Opening this part with your pass…
This part opens with any MySmartCoPilot pass.
- Pro pass · 1 week₹79$2.99
- 30 days₹179$5.99
- 1 year₹1,699$45
One payment; a pass never renews. The price shown is the total you pay: no fees or charges are added at checkout.
Passes can’t be bought right now, so this part can’t be opened at the moment. The free part above stands on its own. If you have a pass, enter your licence key.
It also opens every other in-depth part in Learn and every Pro tool. Sales are final, except where the law gives you a right to withdraw, for example in the EU and the UK (refund policy).
Interview questions
-
Fresher to mid
A round-table set of six people gives four clues: one "opposite", one "between", one "immediately left of" and one "not next to". In what order do you apply them, and how do you justify the order without listing seatings?
-
Fresher to mid
A scheduling set has seven jobs, eight precedence rules and three day clues, and a candidate starts with the clue "the sound check is on day 3". Why is that slower than starting with the rules, and what does a better first step look like?
-
Fresher to mid
A candidate reads "left" off the page of a round-table drawing, which is right for some seats and wrong for others, and the set then seems to have no seating at all. What went wrong, and how do you set up the drawing so it cannot happen?
Flashcards · 5 cards
Recall it, then check
Say the answer to yourself before you look: recalling it is what makes it stick.
-
How many ways can six people sit in a row, and round a table?
In a row, 6! = 720. Round a table, turning everyone one seat changes nothing, so seat one person and arrange the other five: 5! = 120.
-
Whom do you seat first at a round table?
The person the tightest clue is about, so that their links become fixed seats. A block of three kept 12 of the 120 seatings, so it went first, and four clues left 12, 4, 3 and 1.
-
How do you read left and right at a round table drawn from above?
Everyone faces the middle, so a person's left hand points to the seat after theirs going clockwise on the drawing; only for people drawn at the bottom does the page's left match theirs.
-
What is a valid schedule in a scheduling set?
An order that keeps every "before" rule, a topological order. To find one, keep taking a job no remaining rule holds back. Seven fest jobs under eight rules allowed 15 of 5,040 orders.
-
How did day clues cut the fest's 15 schedules?
A fixed day (sound check on day 3) left 6, a link (speakers before hall) 3, and a rule-out (posters and rehearsal apart) 1: S, H, M, P, T, R, E.
Key takeaways
- Six people sit in a row in 720 ways and round a table in 120: turning a table changes nothing.
- Apply the tightest clue first: the block of three kept 12 of 120 seatings, and four clues left one.
- A schedule is an order that keeps every rule: eight rules allowed 15 of 5,040 orders.
- Day clues then cut the schedules, 15 to 6 to 3 to 1, and every question reads off the last one.
Terms in this lesson
- topological order
- An order of jobs in which every job comes after all the jobs that a rule says must come before it. A set of such rules usually allows several orders.
References
- About the NMAT exam: sections and topics (Graduate Management Admission Council (GMAC))
- SNAP 2026 Bulletin (Symbiosis International (Deemed University))
- CAT 2026 press release (Indian Institutes of Management (CAT 2026, conducted by IIM Indore))
- Mathematics, Class 11, Chapter 6: Permutations and Combinations (National Council of Educational Research and Training (NCERT))
- Topological sorting of large networks (Communications of the ACM 5(11), 1962) (Association for Computing Machinery (A. B. Kahn))
- topological sort (Dictionary of Algorithms and Data Structures) (National Institute of Standards and Technology (NIST))
- itertools: permutations (Python Software Foundation)
Related tools
Report a problem with this lesson
Kept only in this browser. Your Learn progress