0% found this document useful (0 votes)
10 views

Assignment

The document outlines assignment questions for the CS3401 Algorithms course for the academic year 2024-2025, detailing various algorithmic puzzles and their requirements. Each puzzle requires students to analyze the problem, implement solutions in Python, provide explanations, and analyze time complexity. The assignments cover a range of topics including optimization, graph theory, and dynamic programming.

Uploaded by

priyadharsini
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Assignment

The document outlines assignment questions for the CS3401 Algorithms course for the academic year 2024-2025, detailing various algorithmic puzzles and their requirements. Each puzzle requires students to analyze the problem, implement solutions in Python, provide explanations, and analyze time complexity. The assignments cover a range of topics including optimization, graph theory, and dynamic programming.

Uploaded by

priyadharsini
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 6

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

ACADEMIC YEAR 2024-2025 EVEN SEMESTER

CS3401 – ALGORITHMS [REGULATION – 2021]

ASSIGNMENT QUESTIONS

YEAR: II

SEMESTER: IV

ASSIGNMENT – I (40 Marks)

[CO1 – 8 marks, CO2 – 8 marks, CO3 – 8 marks, CO4 – 8 marks, CO5 – 8 marks]

Instructions to students:

 Solve each puzzle using the best possible algorithmic approach.


 Provide a clear explanation of your solution before writing code.
 Implement the solution in Python with proper documentation.
 Include comments in your code explaining important steps.
 Provide step-by-step analysis of time complexity.

FINAL SUBMISSION REQUIREMENTS:

 Code Implementation: Submit well-commented Python code.


 Explanation: Clearly explain the problem, algorithm, and reasoning.
 Time Complexity Analysis: Provide step-by-step complexity breakdown.
 Sample Input & Output: Show test cases with results.
 Comparison with Other Approaches: Where applicable, compare with alternate
algorithms.
Batch No.1 – (720323104001-720323104010)

S.No. Question CO
Puzzle 1: The 100 Doors Problem
There are 100 doors in a row, all initially closed.
 You make 100 passes over them.
 In the 1st pass, toggle every door.
 In the 2nd pass, toggle every 2nd door.
1  In the 3rd pass, toggle every 3rd door, and so on… CO1
After 100 passes, which doors remain open?
1. Analyze the problem mathematically.
2. Derive a formula to find open doors.
3. Implement an efficient Python program.
4. Explain the time complexity.
Puzzle 2: The Two Egg Problem
Problem Statement:
You have two identical eggs and a 100-floor building. The eggs break at or above a
certain floor. Your goal is to find the highest safe floor using the minimum number
2 of drops. CO2
1. Analyze brute-force (linear search) vs. binary search methods.
2. Derive a formula to minimize worst-case drops.
3. Implement an optimized algorithm in Python.
Justify the time complexity.
Puzzle 3: The Bridge and Torch Problem
Problem Statement:
Four people need to cross a bridge at night.
 They take 1, 2, 5, and 10 minutes to cross.
 They have one flashlight, and at most two people can cross at a time.
3 CO3
 Both must move at the slower person’s speed.
What is the minimum total time required?
1. Derive the step-by-step optimal crossing strategy.
2. Implement a Python program using a greedy algorithm.
Justify your approach with complexity analysis.
Puzzle 4: The 5L and 8L Jug Problem
Problem Statement:
You have a 5-liter and an 8-liter jug. There is an unlimited water supply, but no
markings on the jugs.
4 Measure exactly 4 liters of water. CO4
1. Explain why this problem is solvable using GCD properties.
2. Implement a Backtracking (or BFS-based) algorithm in Python.
3. Determine the minimum number of steps required.
4. Analyze the time complexity.
5 Puzzle 5: The Traveling Salesman Problem (TSP) CO5
Problem Statement:
A salesman must visit N cities exactly once and return to the starting city.
Find the shortest possible route that visits each city once.
1. Explain why TSP is NP-Hard.
2. Implement an Approximation Algorithm (e.g., Nearest Neighbor
Algorithm).
3. Compare Brute-force, Dynamic Programming, and Approximation
methods.
4. Analyze the time complexity.
Batch No. – (720323104011-720323104020)

S.No. Question CO
Puzzle 1: The Prisoners and the Light Bulb
Problem Statement:
A prison warden tells 100 prisoners that they will be placed in solitary cells but
allowed to visit a central room with a light bulb one at a time, in random order.
 The bulb starts OFF.
 Each prisoner can flip the switch or do nothing.
 The prisoners must determine when all 100 have visited the room at least
1 CO1
once.
 If they make a correct declaration, they go free.
 If they guess incorrectly, they all stay imprisoned.
Devise a strategy to ensure freedom!
1. Derive a logical algorithm for tracking visits.
2. Implement a simulation using Python.
3. Explain the time complexity.
Puzzle 2: The Knight’s Tour Problem
Problem Statement:
A knight moves on an N × N chessboard following the standard L-shaped move.
 The goal is to visit every square exactly once.
2 Find a possible tour using an efficient approach. CO2
1. Implement a Backtracking Algorithm for the tour.
2. Optimize using Warnsdorff’s Heuristic.
3. Compare brute force vs. heuristic methods.
Analyze the time complexity.
Puzzle 3: The Coin Change Problem
Problem Statement:
Given an unlimited supply of coins with values {1, 3, 4}, find the minimum
number of coins needed to sum to a given amount N.
3 CO3
1. Solve using Greedy Algorithm (where applicable).
2. Solve using Dynamic Programming (Optimal Substructure).
3. Compare both methods for different values of N.
Analyze the time complexity.
Puzzle 4: The Sudoku Solver
Problem Statement:
Given a 9×9 partially filled Sudoku board, fill in the missing numbers so that:
 Each row, column, and 3×3 subgrid contains numbers 1-9 without
4 CO4
repetition.
1. Implement Backtracking Algorithm to solve the puzzle.
2. Optimize using Constraint Propagation.
Analyze the time complexity.
5 Puzzle 5: The Job Scheduling Problem CO5
Problem Statement:
You have N jobs, each with a deadline and profit.
 If a job is finished before its deadline, you earn its profit.
 Only one job can be scheduled at a time.
Find the maximum profit schedule.
1. Implement a Greedy Algorithm for optimal scheduling.
2. Compare with Brute Force and Dynamic Programming approaches.
3. Analyze the time complexity.
Batch No. – (720323104021-720323104030)

S.No. Question CO
Puzzle 1: The Infinite Monkey Theorem (Typing Monkeys Problem)
A monkey randomly types letters on a keyboard.
Given a target word (e.g., "HELLO"), find the expected number of keystrokes
before the monkey types the word correctly at least once.
1 Submission Guidelines: CO1
1. Derive the mathematical probability model.
2. Implement a Monte Carlo simulation in Python.
3. Compare the expected vs. actual time taken.
4. Analyze the time complexity.
Puzzle 2: The Bridges of Königsberg

In the city of Königsberg, seven bridges connect different landmasses.


 The goal is to find a walk that crosses each bridge exactly once.
 Formulate this problem as a graph traversal problem.
2 CO2
Submission Guidelines:
1. Model the problem as a graph.
2. Apply Eulerian Path Algorithm to check if a solution exists.
3. Implement a graph traversal algorithm to solve the puzzle.
4. Provide a graph visualization.
Puzzle 3: The Weighted Interval Scheduling Problem
You are given N tasks, each with a start time, end time, and profit.
 You can only do one task at a time.
 Select the tasks that maximize profit without overlapping.
3 Submission Guidelines: CO3
1. Implement Dynamic Programming for the optimal solution.
2. Compare with a Greedy Approach.
3. Show the selected task sequence.
4. Analyze the time complexity.
Puzzle 4: The Sudoku Solver
Problem Statement:
Given a 9×9 partially filled Sudoku board, fill in the missing numbers so that:
 Each row, column, and 3×3 subgrid contains numbers 1-9 without
4 CO4
repetition.
3. Implement Backtracking Algorithm to solve the puzzle.
4. Optimize using Constraint Propagation.
Analyze the time complexity.
5 Puzzle 5: The Traveling Politician Problem CO5
A politician must visit N cities, each with a required speech time.
- The goal is to minimize total travel time while ensuring every city is visited
exactly once.
- Formulate this as a Traveling Salesman Problem (TSP)
Submission Guidelines:
1. Implement an Approximation Algorithm (e.g., Nearest Neighbor or MST-
based).
2. Compare with Brute Force and Dynamic Programming approaches.
3. Show a route visualization.
4. Analyze the time complexity.

Batch No. – (720323104031-720323104048)

S.No. Question CO
Puzzle 1: The Painter’s Partition Problem
You are given N boards and K painters. Each painter takes 1 unit of time per unit
of board length.
Find the minimum time required to paint all boards.
1 Each painter paints continuous boards only. CO1
Submission Guidelines:
1. Implement Binary Search + Greedy Algorithm for the solution.
2. Provide sample input and expected output.
3. Analyze the time complexity.
Puzzle 2: The Maze Solver
You are given an N×N maze where:
0 represents open paths, and 1 represents walls.
You must find the shortest path from (0,0) to (N-1, N-1).
2 Submission Guidelines: CO2
1. Implement BFS (Breadth-First Search) Algorithm for shortest path.
2. Compare with DFS (Depth-First Search).
3. Provide maze visualization.
Analyze the time complexity.
Puzzle 3: The Egg Drop Problem
You are given K eggs and a N-floor building.
Find the minimum number of attempts needed to determine the highest floor an
egg can be dropped from without breaking.
3 Submission Guidelines: CO3
1. Solve using Dynamic Programming.
2. Compare with Recursive Brute Force approach.
3. Provide test cases with expected output.
4. Analyze the time complexity.
Puzzle 4: The 5L and 8L Jug Problem
Problem Statement:
You have a 5-liter and an 8-liter jug. There is an unlimited water supply, but no
markings on the jugs.
4 Measure exactly 4 liters of water. CO4
1. Explain why this problem is solvable using GCD properties.
2. Implement a Backtracking (or BFS-based) algorithm in Python.
3. Determine the minimum number of steps required.
Analyze the time complexity.
5 Puzzle 5: The Bin Packing Problem CO5
Given N items with different sizes, pack them into the minimum number of bins
with a fixed capacity.
Submission Guidelines:
1. Implement First-Fit and Best-Fit Heuristic Algorithms.
2. Compare with Brute Force approach.
3. Analyze the time complexity.

You might also like