Programming Data Structure And Algorithms Using Python Assignment 8

                     

Course Name: Programming Data Structure And Algorithms Using Python

Link of Course: Click Here

These are the solutions of Programming Data Structure And Algorithms Using Python Assignment 8


Q1 Domino Solitaire
(Indian National Olympiad in Informatics, 2008)
In Domino Solitaire, you have a grid with two rows and many columns. Each square in the grid contains an integer. You are given a supply of rectangular 2 x 1 tiles, each of which exactly covers two adjacent squares of the grid. You have to place tiles to cover all the squares in the grid such that each tile covers two squares and no pair of tiles overlap.

The score for a tile is the difference between the bigger and the smaller number that are covered by the tile. The aim of the game is to maximize the sum of the scores of all the tiles. Here is an example of a grid, along with two different tilings and their scores.

These are the solutions of Programming Data Structure And Algorithms Using Python Assignment 8
These are the solutions of Programming Data Structure And Algorithms Using Python Assignment 8

The score for Tiling 1 is 12 = (9-8)+(6-2)+(7-1)+(3-2) while the score for Tiling 2 is 6 = (8-6)+(9-7)+(3-2)+(2-1). There are other tilings possible for this grid, but you can check that Tiling 1 has the maximum score among all tilings. Your task is to read the grid of numbers and compute the maximum score that can be achieved by any tiling of the grid.


These are the solutions of Programming Data Structure And Algorithms Using Python Assignment 8


Solution:

n=int(input())
g1=list(map(int,input().split()))
g2=list(map(int,input().split()))
prev_state=0
final =abs(g1[0]-g2[0])
for i in range(1,n):
  vp = final + abs(g1[i]-g2[i])
  hp = prev_state + abs(g1[i] - g1[i-1]) + abs(g2[i] - g2[i-1])
  prev_state = final
  final = max(vp,hp)
print(final)

These are the solutions of Programming Data Structure And Algorithms Using Python Assignment 8

All weeks solution of Programming Data Structure And Algorithms Using Python: https://progies.in/answers/nptel/programming-data-structure-and-algorithms-using-python

More NPTEL Solutions: https://progies.in/answers/nptel


* The material and content uploaded on this website are for general information and reference purposes only. Please do it by your own first.


These are the solutions of Programming Data Structure And Algorithms Using Python Assignment 8