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

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  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.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  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.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

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