summaryrefslogtreecommitdiff
path: root/Advent-of-Code-2021/AOC-6/aoc-6.c~
diff options
context:
space:
mode:
Diffstat (limited to 'Advent-of-Code-2021/AOC-6/aoc-6.c~')
-rw-r--r--Advent-of-Code-2021/AOC-6/aoc-6.c~65
1 files changed, 65 insertions, 0 deletions
diff --git a/Advent-of-Code-2021/AOC-6/aoc-6.c~ b/Advent-of-Code-2021/AOC-6/aoc-6.c~
new file mode 100644
index 0000000..5b51725
--- /dev/null
+++ b/Advent-of-Code-2021/AOC-6/aoc-6.c~
@@ -0,0 +1,65 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#define N 9
+#define MAXDAYS 80
+
+int table[N];
+
+void PrintTable()
+{
+ for(int i=0; i<N; i++)
+ {
+ printf("%d: %d\n", i, table[i]);
+ }
+}
+
+void NextDay()
+{
+ int temp_table[N];
+ memset(temp_table, 0, sizeof(int)*N);
+
+ for(int i=1; i<N; i++)
+ {
+ temp_table[i-1] = table[i];
+ }
+
+ temp_table[6] += table[0];
+ temp_table[8] += table[0];
+
+ memcpy(table, temp_table, sizeof(int)*N);
+}
+
+int TableSize()
+{
+ int size = 0;
+ for(int i=0; i<N; i++)
+ {
+ size += table[i];
+ }
+
+ return size;
+}
+
+int main(void)
+{
+ memset(table, 0, sizeof(int)*N);
+
+ table[1] = 1;
+ table[2] = 1;
+ table[3] = 2;
+ table[4] = 1;
+
+ for(int i=0; i < MAXDAYS; i++)
+ {
+ NextDay();
+ }
+
+ PrintTable();
+ printf("Size: %d\n", TableSize());
+ printf("Day: %d\n", MAXDAYS);
+
+ return 0;
+}