From efaded6a41b4c254334f37bd77c8ed0765a1fa49 Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Tue, 5 Dec 2017 10:55:22 +0100 Subject: Day 5 --- 2017/5.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 2017/5.c (limited to '2017/5.c') diff --git a/2017/5.c b/2017/5.c new file mode 100644 index 0000000..c782816 --- /dev/null +++ b/2017/5.c @@ -0,0 +1,50 @@ +#include +#include +#include +#include + + +int main(void){ + freopen("5.in","r",stdin); + + int capjumps=128,numjumps=0; + int *jumps=malloc(capjumps*sizeof(int)); + + while(true){ + int target; + scanf("%d",&target); + if(feof(stdin))break; + if(numjumps==capjumps){ + capjumps*=2; + jumps=realloc(jumps,capjumps*sizeof(int)); + } + jumps[numjumps++]=target; + } + + int *jumps1=malloc(numjumps*sizeof(int)); + memcpy(jumps1,jumps,numjumps*sizeof(int)); + + int at=0; + int nsteps=0; + while(0<=at&&at=3)jumps1[at]--; + else jumps1[at]++; + at=next; + nsteps++; + } + printf("%d\n",nsteps); + + free(jumps1); + free(jumps); +} -- cgit v1.2.3-70-g09d2