From d0b44f9e61322b05546d8af7840f721d4459393b Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Sun, 23 Dec 2018 12:46:17 -0500 Subject: Solve day 23 part 1 --- 2018/day23.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 2018/day23.c diff --git a/2018/day23.c b/2018/day23.c new file mode 100644 index 0000000..dca2a0b --- /dev/null +++ b/2018/day23.c @@ -0,0 +1,47 @@ +#include +#include + +typedef unsigned uint; + +struct Point { + int x, y, z; +}; + +static int distance(struct Point a, struct Point b) { + int x = (a.x > b.x ? a.x - b.x : b.x - a.x); + int y = (a.y > b.y ? a.y - b.y : b.y - a.y); + int z = (a.z > b.z ? a.z - b.z : b.z - a.z); + return x + y + z; +} + +struct Bot { + struct Point pos; + int radius; +}; + +int main(void) { + uint len = 0; + struct Bot bots[1000]; + while (!feof(stdin)) { + scanf( + "pos=<%d,%d,%d>, r=%d\n", + &bots[len].pos.x, &bots[len].pos.y, &bots[len].pos.z, + &bots[len].radius + ); + len++; + } + + uint max, maxRadius = 0; + for (uint i = 0; i < len; ++i) { + if (bots[i].radius < maxRadius) continue; + max = i; + maxRadius = bots[i].radius; + } + + uint inRange = 0; + for (uint i = 0; i < len; ++i) { + if (distance(bots[i].pos, bots[max].pos) > bots[max].radius) continue; + inRange++; + } + printf("%u\n", inRange); +} -- cgit 1.4.1 8484623fb99cca53f93920&follow=1'>diff
Commit message (Expand)Author
2021-02-16Add missing %U for RFCs in bibsortJune McEnroe
2021-02-15Set XTerm*charClass to select URLsJune McEnroe
2021-02-15Add xdimmer to "Using OpenBSD"June McEnroe
2021-02-14Publish "Using OpenBSD"June McEnroe
2021-02-14Set font size back down to 11June McEnroe
2021-02-10Add install targets to binJune McEnroe
2021-02-10Colour battery level red when criticalJune McEnroe
2021-02-10Set LC_CTYPE=en_US.UTF-8June McEnroe
2021-02-09Add ~/.local/share/man to MANPATHJune McEnroe
2021-02-09Fix adding /usr/games to PATHJune McEnroe
2021-02-09Show battery level while charging, time while dischargingJune McEnroe
2021-02-09Install sctJune McEnroe
2021-02-09Show minutes left instead of battery percentageJune McEnroe
2021-02-09Set antialiasing and unhinting globallyJune McEnroe
2021-02-09Open youtube and twitch with mpvJune McEnroe
2021-02-09Add volume control bindings to cwmJune McEnroe
2021-02-09Use w3m to open other URLsJune McEnroe
2021-02-09Disable mouse mode in xtermJune McEnroe
2021-02-09Add pbcopy, pbpaste, open dispatch scriptsJune McEnroe
2021-02-09Use flags for pbd client behaviourJune McEnroe
2021-02-08Add macOS-like copy and paste to xtermJune McEnroe
2021-02-08Only update clock script every minuteJune McEnroe
2021-02-08Use 4M- for window resizing in cwmJune McEnroe
2021-02-08Tweak trackpad scaling, mouse accelerationJune McEnroe
2021-02-08Use xsel in up and add it do install.shJune McEnroe
2021-02-07Swap root window coloursJune McEnroe
2021-02-07Add -X flag to install X stuff on OpenBSDJune McEnroe
2021-02-07Adjust brightness by smaller incrementsJune McEnroe
2021-02-07Fix cwm window cycling, move big by defaultJune McEnroe
2021-02-07Use class names for Foreground, Background, BorderColorJune McEnroe
2021-02-07Add simple battery status and clock to xsessionJune McEnroe
2021-02-07Set cursor theme and sizeJune McEnroe
2021-02-07Use scrot for up -s if no screencaptureJune McEnroe
2021-02-07Enable mouse acceleration in XJune McEnroe
2021-02-07Set colours for Xt and cwmJune McEnroe
2021-02-07Set urgency on bell in xtermJune McEnroe
2021-02-07Add bindings for brightness controlJune McEnroe
2021-02-07Set X key repeat rateJune McEnroe
2021-02-07Bump font size to 12June McEnroe
2021-02-07Fully configure and rebind cwmJune McEnroe
2021-02-07Add BintiJune McEnroe
2021-02-07Finish configuring xtermJune McEnroe
2021-02-06Enable tapping, reverse scroll, set scaling in wsconsctlJune McEnroe
2021-02-06Set root window to black on purple snowJune McEnroe
2021-02-06Add xmodmap configurationJune McEnroe
2021-02-06Add initial OpenBSD X configurationJune McEnroe
2021-02-06Add xterm output to schemeJune McEnroe