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

  Prepare a program that uses at least two functions

Prepare a program that uses at least two functions that can be called from your main.

  Project

Unit 3 Individual Project SSCI210 – 1304B – 01 A typical individual who commits who commits hate crimes whether it is against or aimed at the Gay/lesbian community , the persons of color or the Jewish community, ( I mention these three because they a..

  Design and implement a library system

Design and implement a library system that does the following: ? Takes details of a student/library users: first name, last name, other names, user ID number, and nationality.

  Design a nested program

How many levels of nesting are there in this design?

  Write a matrix multiplication program

Write a C++, matrix multiplication program which you can instrument to monitor and measure execution time as a function of problem size. Make sure it works in Microsoft Visual Studio.

  Iterative programming problem solving approaches

Write a recursive function void reverse ( ) that reverse a sentence

  Create a program for a company named retail-mart

Prompt the user to enter an item name (one word only), a quantity and a price. For this step, in addition to functionality, I'll be looking at: location of the variable declarations; appropriateness of data types selected; appropriateness of the va..

  Create a base employee class

Create a base Employee class and a derived StudentEmployee class

  Calculate the component voltages

Calculate the component voltages for the following series resonant RLC circuit

  Execute tests and repetitions

Read data from standard input and store them in an array, Execute tests and repetitions

  Write a c program that reads a data file of floating numbers

Write a program that reads a data file of floating numbers into an array and prints the array elements along with the number of items in the array

  Convert celsius temperatures to fahrenheit temperatures

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

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