title: How to calculate maximum coverage of a matrix by tetris tiles?
body: <p>I am building a recursive function that will be given a size of a matrix (Rows and Cols).</p>
  
  <p>The function will print the first optimal cover it encountered.</p>
  
  <p>What I am looking for is the a way to calculate what will the optimal cover be, numerically. meaning, how many blank spaces will be left. Meaning, I need the stop signal for my recursive function.</p>
  
  <p>There are 4 defined shapes; they can not be turned, but can be placed as many times as I want (including 0). These are the shapes:</p>
  
  <pre><code>XX
  X0
  
  00X
  XXX
  
  0X0
  XXX
  
  0X
  XX
  X0
  </code></pre>
  
  <p>0 representing blank spaces.</p>
  
  <p>Given a specific matrix size, how can I know what is the maximum coverage of that matrix?
  As to the algorithm itself that will return the first optimal coverage, I think I will handle it myself.</p>
  
  <p>I am writing in C but not looking for a source code - only an algorithm, preferably simple :)</p>
  
  <p>BTW, no luck with trying to convert ALGORITHM X to match my problem.</p>