Advent of Code

Diff
Login

Diff

Differences From Artifact [f86e25f6c6]:

To Artifact [8003dbb812]:


64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
            row_pos = row_initial; col_pos = col_initial;
            deltarow = -1; deltacol = 0;
            data[linearize2d(size, (unsigned)row_pos, (unsigned)col_pos)] = '1';
            bool looping = false;
            while (!looping && validpos(size, row_pos + deltarow, col_pos + deltacol)) {
                switch (data[linearize2d(size, (unsigned)(row_pos+deltarow), (unsigned)(col_pos+deltacol))]) {
                    default: puts("stepped on default"); exit(EXIT_FAILURE);
                    case '#': if (data[linearize2d(size, (unsigned)(row_pos), (unsigned)(col_pos))] == '8') looping = true;
                              rightturn(&deltarow, &deltacol);
                              break;
                    case '4': looping = true; break;
                    case '.': data[linearize2d(size, (unsigned)(row_pos+deltarow), (unsigned)(col_pos+deltacol))] = '0';
                              /*fallthrough*/
                    case '1':
                    case '2':







|







64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
            row_pos = row_initial; col_pos = col_initial;
            deltarow = -1; deltacol = 0;
            data[linearize2d(size, (unsigned)row_pos, (unsigned)col_pos)] = '1';
            bool looping = false;
            while (!looping && validpos(size, row_pos + deltarow, col_pos + deltacol)) {
                switch (data[linearize2d(size, (unsigned)(row_pos+deltarow), (unsigned)(col_pos+deltacol))]) {
                    default: puts("stepped on default"); exit(EXIT_FAILURE);
                    case '#': if (data[linearize2d(size, (unsigned)(row_pos), (unsigned)(col_pos))] == '4') looping = true;
                              rightturn(&deltarow, &deltacol);
                              break;
                    case '4': looping = true; break;
                    case '.': data[linearize2d(size, (unsigned)(row_pos+deltarow), (unsigned)(col_pos+deltacol))] = '0';
                              /*fallthrough*/
                    case '1':
                    case '2':