1
0
bastien.monsarrat 6 жил өмнө
parent
commit
803a6f757c
2 өөрчлөгдсөн 4 нэмэгдсэн , 11 устгасан
  1. 1 1
      D17.1/Program.cs
  2. 3 10
      D17.Bonus/Program.cs

+ 1 - 1
D17.1/Program.cs

@@ -103,7 +103,7 @@ namespace D17._1
             }
 
             rwater.Remove(water);
-            rwater.TryAdd(source, (x: source.x, source.y - 1));
+            rwater.TryAdd(source, (source.x, source.y - 1));
             map[source] = EnumType.RunningWater;
         }
 

+ 3 - 10
D17.Bonus/Program.cs

@@ -142,6 +142,7 @@ namespace D17.Bonus
 
             rwater.Remove(water);
             if (!rwater.ContainsKey(source)) rwater.Add(source, (source.x, source.y - 1));
+            map[source] = EnumType.RunningWater;
         }
 
         private static bool CanConvertToStillWater(Dictionary<(int x, int y), EnumType> map, IDictionary<(int x, int y), (int x, int y)> rwater, (int x, int y) water, (int x, int y) source, out int maxX, out int minX)
@@ -153,22 +154,14 @@ namespace D17.Bonus
             {
                 maxX = x;
                 var res = map.TryGetValue((x, water.y), out var type);
-                if (res == false)
-                {
-                    canConvert = false;
-                    if (!rwater.ContainsKey((x - 1, water.y))) rwater.Add((x - 1, water.y), source);
-                }
+                if (res == false) canConvert = false;
                 else if (type == EnumType.Clay) break;
             }
             for (int x = water.x; canConvert; --x) // right to left
             {
                 minX = x;
                 var res = map.TryGetValue((x, water.y), out var type);
-                if (res == false)
-                {
-                    canConvert = false;
-                    if (!rwater.ContainsKey((x + 1, water.y))) rwater.Add((x + 1, water.y), source);
-                }
+                if (res == false) canConvert = false;
                 else if (type == EnumType.Clay) break;
             }