day07.c (657B)
1 #include <stdio.h> 2 #include <inttypes.h> 3 #include "cputime.h" 4 5 #define W 144 6 #define H 144 7 8 int main(void) { 9 int x = 1; 10 int64_t beams[W] = {0}; 11 int p1 = 0; 12 for (int c=getchar();c!=EOF;c=getchar()) { 13 if (c=='\n') { 14 x = 1; 15 } else { 16 if (c=='^' && beams[x]!=0) { 17 beams[x-1] += beams[x]; 18 beams[x+1] += beams[x]; 19 beams[x] = 0; 20 p1++; 21 } 22 if (c=='S') beams[x] = 1; 23 x++; 24 } 25 } 26 int64_t p2 = 0; 27 for (int i=0;i<W;++i) p2 += beams[i]; 28 printf("p1: %d\np2: %"PRIi64"\n", p1, p2); 29 return 0; 30 }