Exemplo n.º 1
0
    public override string Part1(string input, object?args)
    {
        var rq = new List <long>();
        var sq = new List <long>();
        var p0 = new AssemblyProgram(0, ref rq, ref sq, input);

        p0.RunProgram(true);
        return(p0.LastFrequencySent.ToString());
    }
Exemplo n.º 2
0
    public override string Part1(string input)
    {
        List <long> reQ = null;
        List <long> seQ = null;
        var         m   = new AssemblyProgram(1, ref reQ, ref seQ, input);

        m.RunProgram(false);
        return(m.MulInvoked.ToString());
    }
Exemplo n.º 3
0
    public override string Part2(string input)
    {
        List <long> reQ = null;
        List <long> seQ = null;
        var         m   = new AssemblyProgram(1, ref reQ, ref seQ, input);

        m.Registers.Add("a", 1);
        m.RunProgram(false);
        return(m.Registers["h"].ToString());

        ;
    }
Exemplo n.º 4
0
    public override string Part2(string input, object?args)
    {
        var q0 = new List <long>();
        var q1 = new List <long>();
        var p0 = new AssemblyProgram(0, ref q0, ref q1, input);
        var p1 = new AssemblyProgram(1, ref q1, ref q0, input);

        do
        {
            p0.RunProgram(false);
            p1.RunProgram(false);
        } while (p0.SentMsgToQ || p1.SentMsgToQ);

        return(p1.MessagesSent.ToString());
    }