Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Advent2018.Day11
- {
- class Program
- {
- static void Main(string[] args)
- {
- Part2();
- }
- static void Part1() {
- int serial = 7315;
- int[,] grid = new int[300, 300];
- for (int j = 0; j < 300; j++)
- {
- for (int i = 0; i < 300; i++)
- {
- int x = i + 1;
- int y = j + 1;
- int rackId = x + 10;
- int power = rackId * y;
- power += serial;
- power *= rackId;
- //get 100's digit
- int digit = ((power - (power % 100)) / 100) % 10;
- power = digit - 5;
- grid[i, j] = power;
- }
- }
- int max = 0;
- int maxi = 0;
- int maxj = 0;
- for(int j = 0; j < 298; j++)
- {
- for(int i = 0; i < 298; i++)
- {
- int total = 0;
- for(int jj = 0; jj < 3; jj++)
- {
- for(int ii = 0; ii < 3; ii++)
- {
- total += grid[i + ii, j + jj];
- }
- }
- if (total > max)
- {
- max = total;
- maxi = i;
- maxj = j;
- }
- }
- }
- Console.WriteLine("Max: " + (maxi + 1) + "," + (maxj + 1));
- }
- static void Part2()
- {
- int serial = 7315;
- int[,] grid = new int[300, 300];
- for (int j = 0; j < 300; j++)
- {
- for (int i = 0; i < 300; i++)
- {
- int x = i + 1;
- int y = j + 1;
- int rackId = x + 10;
- int power = rackId * y;
- power += serial;
- power *= rackId;
- //get 100's digit
- int digit = ((power - (power % 100)) / 100) % 10;
- power = digit - 5;
- grid[i, j] = power;
- }
- }
- int max = 0;
- int maxi = 0;
- int maxj = 0;
- int maxs = 3;
- for (int s = 1; s < 300; s++)
- {
- Console.Write(".");
- for (int j = 0; j < (301 - s) ; j++)
- {
- for (int i = 0; i < (301 - s); i++)
- {
- int total = 0;
- for (int jj = 0; jj < s; jj++)
- {
- for (int ii = 0; ii < s; ii++)
- {
- total += grid[i + ii, j + jj];
- }
- }
- if (total > max)
- {
- maxs = s;
- max = total;
- maxi = i;
- maxj = j;
- }
- }
- }
- }
- Console.WriteLine("Max: " + (maxi + 1) + "," + (maxj + 1) + "," + maxs);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement