mgla

Advent of Code - 2025 - Day 12

Dec 12th, 2025
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.80 KB | None | 0 0
  1. var input = await File.ReadAllTextAsync("input.txt");
  2. var blocks = input.Split($"{Environment.NewLine}{Environment.NewLine}");
  3. var shapes = new int[6];
  4.  
  5. for (var i = 0; i < 6; i++)
  6. {
  7.     var block = blocks[..^1][i];
  8.     shapes[i] = block.Count(c => c == '#');
  9. }
  10.  
  11. var sections = blocks[^1].Split(Environment.NewLine).Select(s => s.Split(": ")).ToArray();
  12. var part1 = 0;
  13.  
  14. foreach (var section in sections)
  15. {
  16.     var area = section[0].Split('x').Select(int.Parse).Aggregate(1, (a, b) => a * b);
  17.     var coveredArea = 0;
  18.     var requiredShapes = section[1].Split(" ").Select(int.Parse).ToArray();
  19.  
  20.     for (var j = 0; j < 6; j++)
  21.     {
  22.         coveredArea += requiredShapes[j] * shapes[j];
  23.     }
  24.  
  25.     if (coveredArea <= area)
  26.     {
  27.         part1++;
  28.     }
  29. }
  30.  
  31. Console.WriteLine($"Part 1: {part1}");
Advertisement
Add Comment
Please, Sign In to add comment