示例#1
0
    public override string?CalculateSolution()
    {
        IDynamicIndexable2D <int> screen = new DynamicIndexable2D <int>();

        using IEnumerator <long> e = new IntcodeComputer(_initialMemory).Execute().GetEnumerator();

        while (e.MoveNext())
        {
            int x = (int)e.Current;
            if (!e.MoveNext())
            {
                break;
            }
            int y = (int)e.Current;
            if (!e.MoveNext())
            {
                break;
            }
            int id = (int)e.Current;

            screen[x, y] = id;
        }

        return(Solution = screen.Count(t => t == ScreenObject.Block).ToString());
    }