Advent Of Code 2024

· Technology

https://github.com/XmchxUp/aoc

Advent Of Code 2024

      --------Part 1--------   --------Part 2--------
Day       Time   Rank  Score       Time   Rank  Score
  8   00:29:40   4106      0   00:54:22   5202      0
  7   23:33:54  50547      0   23:40:07  47667      0
  6   00:15:41   2497      0   00:38:26   2332      0
  5   00:23:57   5045      0   00:37:53   4165      0
  4   02:02:34  16546      0   02:24:41  14838      0
  3   00:09:56   4139      0   07:34:31  45141      0
  2   02:46:57  25824      0   02:57:25  17743      0
  1   00:14:13   5469      0   00:23:05   5735      0

Day 8: Resonant Collinearity

模拟,主要记录所有相同的点,然后遍历所有可能性,partII 主要判断自身是否需要包含(如果只有两个 antenna)

pub struct Aoc2024_8 {
    map: Vec<Vec<char>>,
    points: HashMap<char, Vec<(i32, i32)>>,
}

Day 7: Bridge Repair

基础的递归思路,遍历所有 operator。

Day 6: Guard Gallivant

partI: 模拟

partII: 使用暴力的将所有位置设置成#,然后判断有没有在 loop 里主要是判断三元组,(x,y,dir),只用坐标肯定不行,因为可能正常情况也会走到。用时 87S 87.675 Part 2: 2022

其实只需要遍历看得见的位置就行不需要所有。

Day 5: Print Queue

partI: 暴力的每次从后往前检测是否符合 Rule

    rules: HashMap<u32, HashSet<u32>>,
    seqs: Vec<Vec<u32>>,

partII: 排序,如 rule a|b 表示 a < b 那么使用这个排序规则,最后在判断是否符合 rule。

partI: DFS

partII: 直接写死判断 4 种 pattern 了,主要通过中间 A 固定。

Day 3: Mull It Over

partI: 使用正则

partII:每次让 don't 之前所有操作都跟 partI 一样,再找到一个 do,即 do 之后的操作同理。

注意所有操作应该连起来,我的输入里有换行,被这个坑了好久。

Day 2: Red-Nosed Reports

partII: 直接遍历所有数每次 remove 掉,然后按 partI 逻辑判断就行。

Day 1: Historian Hysteria

partI: sort

partII: HashMap

Comments (0)

    Send comment

    Markdown supported. Please keep comments clean.