An assignment is marked as completed if a person does any of the following:
There is a list of 10 subjects:

Read Three subjects for 1hr each
Read a subject 3 times for 1hr each
Reads at least 2 distinct subjects but complete 3 hrs

And so on, lots of subjects are there and there can be any type of combinations among them which leads to a specific homework completion

Approach for storing database :
We have the log of which subject a student reads for how much time (in counts of hrs) maintained in a table.
We have a list of assignments with various combination possibilities.

What should be a preferred way to store the assignments table so that from the log of time spent one can validate the completion of task.