Implement the tronomino tiling algorithm

Assignment Help C/C++ Programming
Reference no: EM1343512

1. Implement the tronomino tiling algorithm. Your program should take an arbitrary input positive integer k in the Linux command line and generate a 2k * 2k board. Randomly create one rectangular hole on the board and solve the tronomino tiling problem for this board. If a square on the board is occupied by a square of a tronomino tile, print "O". If it is a hole instead, print "X". Thus, your output should look like as the following, if there is a hole is at the intersection of the first row and second column. (To print the output, assume 1 ≤ k ≤ 6.)

 

| O | X | O | ............| O |

| O | O | O | ............ | O |

...............................

...............................

...............................

| O | O | O | ............ | O |

 

Make sure your program correctly implements the tronomino tiling algorithm with O(n2) time complexity (the divide and conquer algorithm described in Chapter 5); that is, there must be only one hole on the board and each of all the remaining 2k * 2k -1 squares on the board must be covered by exactly one square of one tronomino tile. No credit will be given if the algorithm is incorrectly implemented, the time complexity of your program is higher than O(n2), or your program only works for specific k values.  Save your source code in a file and name the file as yourlastname_pa2_tro.cpp.

2.      Implement the longest common subsequence (LCS) algorithm using the dynamic programming method that was discussed in class.  (No credit will be given if you implement a brute force algorithm, which does exhaustive comparisons between two input strings, or any other algorithm unless you prove your algorithm is correct and more efficient than the LCS algorithm described in Chapter 7.) Save your source code in a file and name the file as yourlastname_pa2_lcs.cpp.

Make sure that your program can take any two input strings in the Linux command line and print the LCS found between the two input strings. (Assume that a string consists of at most 100 alphabetic characters.) For example, student Smith types "smith_pa1_lcs abc afgbhcd" in the command line to find the LCS between string "abc" and string "afgbhcd".  Again, your program should work for arbitrary two input strings. No credit will be given, if your program only works for some specific strings, but fails to find the LCS for other strings.

3.      Implement Strassen's matrix multiplication algorithm. Your program should take an input variable n (=2k where k is a positive integer) in the Linux command line and generate two n*n random integer matrices, A and B. Compute A*B using Strassen's algorithm and compare the result to the result produced by the standard matrix multiplication algorithm with O(n3) time complexity. Print the results, if correct. (If incorrect results are produced, no credit will be given. Your program should work for any matrices. If it works for specific matrices but doesn't work for other matrices, no credit will be given.) Finally, save your source code in a file and name the file as yourlastname_pa2_strassen.cpp.

All programming must be done using C or C++ in Linux where your code will be tested.  Create a tar file that includes (1) three source code files and (2) a readme file that clearly describes how to compile and run your code.

Reference no: EM1343512

Questions Cloud

Project management - questions : In which type of cost estimating is regression analysis technique used
Explain what is the after-tax net cash flow : Calculation of net cash flow - what is the after-tax net cash flow in the thirteenth year of the project
Explain what is the definition of a project : What is the definition of a project? What are some of the elements that differentiate a project from maintenance work and how does a focus of a project affect the business direction and orientation?
Explain the organization that is in need of the pool : Explain the organization that is in need of the pool and show the expected benefits that are motivating the organization to commission this project.
Implement the tronomino tiling algorithm : Implement the tronomino tiling algorithm,  our program should take an arbitrary input positive integer  k  in the Linux command line and generate a 2 k  * 2 k  board.
Problem on project analysis : Problem on Project Analysis - McGilla Golf has decided to sell a new line of golf clubs
What are the three project team structures : What are the three project team structures and what are some of the elements that differentiate the team structures from one another
General project management vs rapid application development : General Project Management vs Rapid Application Development - your e-group today and see that conversation has begun about the differences between general project management and application development or rapid application development (RAD) models.
Specify the performance criteria for the project : Project Performance: List the desired outputs from the project and specify the performance criteria for the project.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Design a simple game of blackjack

Prepare a simple game of blackjack using object oriented programming.

  Structured programming using procedural languages

A a program that is called "Playing with Numbers or Letters".

  Design a nested program

How many levels of nesting are there in this design?

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Develop a simple poker game

Develop a simple poker game

  Insert the missing code in the c program

You are to insert the missing code in the C program given for combinational equivalence checking. This program will interface with the CUDD package and will parse netlist files in ISCAS85 circuit format. Next, BDDs will be created for each circuit an..

  Assessment system of a university

Write a program for Assessment system of a University

  Create a template class

Create a template class, SVector, that implements a constructor

  Design for storing the maze layout

Design and implement a C++ program for maze layout

  Implement the guess the word

Implement  the ‘Guess the Word' game in an object-oriented manner

  Write a program that converts between app and ppm values

Write a simple program that converts between APP and PPM values

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd