import java.util.*;

public class Verifier
{
    public static final String EXAMPLE_DATA = "example.txt";

    public static final Ticket TICKET_1 = new Ticket(new String[] { "40" ,"4" ,"50" });
    public static final Ticket TICKET_2 = new Ticket(new String[] { "55" ,"2" ,"20" });
    public static final Ticket TICKET_3 = new Ticket(new String[] { "38" ,"6" ,"12" });

    public Verifier (boolean debug)
    {
        _debug = debug;
    }

    public boolean verify ()
    {
        Vector<Category> cats = Util.loadCategories(EXAMPLE_DATA, _debug);
        Vector<Ticket> ticks = Util.loadTickets(EXAMPLE_DATA, _debug);

        if (_debug)
        {
            for (int i = 0; i < cats.size(); i++)
                System.out.println(cats.elementAt(i));

            for (int j = 0; j < ticks.size(); j++)
                System.out.println(ticks.elementAt(j));
        }

        for (int k = 0; k < ticks.size(); k++)
        {
            Util.checkAlCategories(cats, ticks.elementAt(k));
        }

        return false;
    }

    private boolean _debug;
}
@@ -100,16 +100,105 @@
 .txt%22;%0A%0A
+    public static final Ticket OWN_TICKET = new Ticket(new String%5B%5D %7B %227%22 ,%221%22 ,%2214%22 %7D);%0A
     publ
@@ -975,150 +975,784 @@
     
-for (int k = 0; k %3C ticks.size(); k++)%0A        %7B%0A            Util.checkAlCategories(cats, ticks.elementAt(k));%0A        %7D%0A%0A        return false
+boolean%5B%5D correct = new boolean%5B4%5D;%0A%0A        for (int l = 0; l %3C 4; l++)%0A            correct%5Bl%5D = false;%0A%0A        for (int k = 0; k %3C ticks.size(); k++)%0A        %7B%0A            if (ticks.elementAt(k).equals(OWN_TICKET) && (Util.checkAlCategories(cats, OWN_TICKET)))%0A                correct%5B0%5D = true;%0A%0A            if (ticks.elementAt(k).equals(TICKET_1) && (!Util.checkAlCategories(cats, TICKET_1)))%0A                correct%5B1%5D = true;%0A%0A            if (ticks.elementAt(k).equals(TICKET_2) && (!Util.checkAlCategories(cats, TICKET_2)))%0A                correct%5B2%5D = true;%0A%0A            if (ticks.elementAt(k).equals(TICKET_3) && (!Util.checkAlCategories(cats, TICKET_3)))%0A                correct%5B3%5D = true;%0A        %7D%0A%0A        return correct%5B0%5D & correct%5B1%5D & correct%5B2%5D & correct%5B3%5D
 ;%0A  

Update Verifier.java