From 3c641af87a0e272c03cc0f273055124164d7d360 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Fri, 6 Dec 2019 03:10:23 -0500 Subject: Solve day 5 part 1 --- 2019/day05.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 2019/day05.c diff --git a/2019/day05.c b/2019/day05.c new file mode 100644 index 0000000..3b38124 --- /dev/null +++ b/2019/day05.c @@ -0,0 +1,38 @@ +#include +#include + +static int input(void) { + return 1; +} + +static void output(int x) { + printf("%d\n", x); +} + +static int ip; +static int mem[1024]; + +static int *p(int mode, int param) { + return (mode ? &mem[ip + param] : &mem[mem[ip + param]]); +} + +static void run(void) { + while (mem[ip] != 99) { + int op = mem[ip] % 100; + int m1 = mem[ip] / 100 % 10; + int m2 = mem[ip] / 1000 % 10; + int m3 = mem[ip] / 10000 % 10; + switch (op) { + break; case 1: *p(m3, 3) = *p(m1, 1) + *p(m2, 2); ip += 4; + break; case 2: *p(m3, 3) = *p(m1, 1) * *p(m2, 2); ip += 4; + break; case 3: *p(m1, 1) = input(); ip += 2; + break; case 4: output(*p(m1, 1)); ip += 2; + break; default: abort(); + } + } +} + +int main(void) { + for (int i = 0; EOF != scanf("%d,", &mem[i]); ++i); + run(); +} -- cgit 1.4.1 girl/refs/?h=1.7&id=efed6cd2981c608138a73e026949ea0d72b9d0be'>refs log tree commit diff
Commit message (Collapse)Author
2020-02-13Add /execJune McEnroe
2020-02-13Only uiShow if hidden and only uiHide if shownJune McEnroe
2020-02-13Rename procPipe to utilPipeJune McEnroe
2020-02-13Set swap correctly when closing a windowJune McEnroe
I knew I missed something.
2020-02-13Refactor windows into array and add /moveJune McEnroe
Oof.
2020-02-13Clean up manual lintsJune McEnroe
Wish I could use mandoc -T lint as part of the dev target but it complains about missing referenced pages without a way to turn that off that I can find.
2020-02-13Add -g for generating certificatesJune McEnroe
Copied from pounce.
2020-02-13Explicitly close the TLS connectionJune McEnroe
Just to be nice.
2020-02-12Add sandman wrapperJune McEnroe
2020-02-12Document scripts in READMEJune McEnroe
2020-02-12Add -N flag for notificationsJune McEnroe
2020-02-12Mark and unmark on uiHide, uiShowJune McEnroe
2020-02-12Hide debug prompt if buffer starts with /June McEnroe
2020-02-12Only exit on errorneous nick during registrationJune McEnroe
2020-02-12Add 378 to list of WHOIS responsesJune McEnroe
It's the one (from freenode anyway) that tells you where you're connecting from.
2020-02-13Implement source address selectionmultiplexd
This commit adds a '-S' command line option and a "bind" configuration file option to specify the source address to bind to when connecting to the IRC server.
2020-02-12Add /listJune McEnroe
2020-02-12Simplify transpose swapJune McEnroe
2020-02-12Add C-t transposeJune McEnroe
Also in emacs, weechat.
2020-02-12Add C-v and M-vJune McEnroe
I figure there should be some way to scroll without keypad, and apparently this is what emacs offers...
2020-02-12Allow for arguments to open/copy utilitiesJune McEnroe
2020-02-12Handle RPL_AWAYJune McEnroe
2020-02-11Support monochromatic terminalsJune McEnroe
Oops, division by zero!
2020-02-11Add .gz to chroot-man scriptJune McEnroe
2020-02-11Add -R restricted flagJune McEnroe
2020-02-11Add chroot targetJune McEnroe
2020-02-11Exit focus and paste modes on err exitJune McEnroe
2020-02-11Add startup GPLv3 note and URLJune McEnroe
I am a degenerate.
2020-02-11Make sure -D_GNU_SOURCE ends up in CFLAGS on LinuxJune McEnroe
2020-02-11Add note about setting PKG_CONFIG_PATHJune McEnroe
2020-02-11Rename query ID on nick changeJune McEnroe
2020-02-11Call completeClear when closing a windowJune McEnroe
2020-02-11Don't insert color codes for non-mentionsJune McEnroe
2020-02-11Take first two words in colorMentionsJune McEnroe
This lets phrases like "hi june" get colored, but still doesn't get carried away.
2020-02-11Use time_t for save signatureJune McEnroe
It's actually more likely to be 64-bit than size_t anyway, and it eliminates some helper functions. Also don't error when reading an empty save file.
2020-02-11Set self.nick to * initiallyJune McEnroe
Allows removing a bunch of checks that self.nick is set, and it's what the server usually calls you before registration. Never highlight notices as mentions.
2020-02-11Define ColorCap instead of hardcoding 100June McEnroe
2020-02-11Move hash to top of chat.hJune McEnroe
2020-02-11Move base64 out of chat.hJune McEnroe
2020-02-11Move XDG_SUBDIR out of chat.hJune McEnroe
2020-02-11Fix whois idle unit calculationJune McEnroe
Rookie mistake.
2020-02-11Cast towupper to wchar_tJune McEnroe
For some reason it takes and returns wint_t...
2020-02-11Cast set but unused variables to voidJune McEnroe
2020-02-11Declare strlcatJune McEnroe
2020-02-11Check if VDSUSP existsJune McEnroe
2020-02-11Fix completeReplace iterationJune McEnroe
2020-02-11Use pkg(8) to configure on FreeBSDJune McEnroe
2020-02-11Remove legacy codeJune McEnroe
2020-02-11Add INSTALLING section to READMEJune McEnroe