Problem Statement  
Your company has a set of numTasks tasks that it wishes to complete. These tasks must be completed in order; that is to say, work on task j + 1 cannot begin until task j is complete. Your company has decided to contract the work to outside companies. There is a set of companies, each of which performs each of these tasks for a certain fee. Naturally, your company wants to spend as little as possible in accomplishing these tasks. Because each of these tasks is so complex, there's another restriction: One contract company cannot perform three tasks in a row for your company.
Create a class ContractWork containing a method minimumCost which takes a String[] costs and an int numTasks as input. Each element of costs is a string of numbers separated by exactly one space. The j^{th} number in element i of costs represents the amount company i will charge to perform task j. Each string will contain exactly numTasks numbers. Clearly, the number of companies is the number of elements in costs. The method should return an int corresponding to the minimum cost incurred by your company while contracting out the tasks.  
Definition  
 
Constraints  
  costs will contain between 2 and 50 elements inclusive.  
  numTasks will be between 2 and 50 inclusive.  
  Each element of costs will contain exactly numTasks numbers, each separated by single spaces.  
  Each number in costs will be an integer between 0 and 100, inclusive with no extra leading zeroes.  
  Each element of costs will contain between 1 and 50 characters, inclusive.  
Examples  
0)  
 
1)  
 
2)  
 
3)  
