|
@@ -82,10 +82,9 @@ namespace D16._1
|
|
|
|
|
|
|
|
var pc = new Computer();
|
|
var pc = new Computer();
|
|
|
|
|
|
|
|
- var result = new Dictionary<int, int>();
|
|
|
|
|
|
|
+ var result = 0;
|
|
|
|
|
|
|
|
bool prevIsBlank = false;
|
|
bool prevIsBlank = false;
|
|
|
- int sample = 0;
|
|
|
|
|
do
|
|
do
|
|
|
{
|
|
{
|
|
|
var line = file.ReadLine();
|
|
var line = file.ReadLine();
|
|
@@ -99,8 +98,6 @@ namespace D16._1
|
|
|
}
|
|
}
|
|
|
else prevIsBlank = false;
|
|
else prevIsBlank = false;
|
|
|
|
|
|
|
|
- result.Add(sample, 0);
|
|
|
|
|
-
|
|
|
|
|
string before = line;
|
|
string before = line;
|
|
|
string op = file.ReadLine();
|
|
string op = file.ReadLine();
|
|
|
string after = file.ReadLine();
|
|
string after = file.ReadLine();
|
|
@@ -109,6 +106,7 @@ namespace D16._1
|
|
|
var regAfter = after.Substring(9, after.Length - 10).Split(", ").Select(s => ushort.Parse(s)).ToArray();
|
|
var regAfter = after.Substring(9, after.Length - 10).Split(", ").Select(s => ushort.Parse(s)).ToArray();
|
|
|
var opParams = op.Split(" ").Select(s => ushort.Parse(s)).ToArray();
|
|
var opParams = op.Split(" ").Select(s => ushort.Parse(s)).ToArray();
|
|
|
|
|
|
|
|
|
|
+ var count = 0;
|
|
|
foreach (var opc in pc.CPU.OpCodes)
|
|
foreach (var opc in pc.CPU.OpCodes)
|
|
|
{
|
|
{
|
|
|
pc.CPU.SetRegisters(regBefore);
|
|
pc.CPU.SetRegisters(regBefore);
|
|
@@ -118,14 +116,13 @@ namespace D16._1
|
|
|
var regresult = pc.CPU.Registers;
|
|
var regresult = pc.CPU.Registers;
|
|
|
|
|
|
|
|
bool isSame = regresult[opParams[3]] == regAfter[opParams[3]];
|
|
bool isSame = regresult[opParams[3]] == regAfter[opParams[3]];
|
|
|
- if (isSame) result[sample]++;
|
|
|
|
|
|
|
+ if (isSame) count++;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- sample++;
|
|
|
|
|
|
|
+ if (count >= 3) result++;
|
|
|
} while (true);
|
|
} while (true);
|
|
|
|
|
|
|
|
- var resultCount = result.Count(r => r.Value >= 3);
|
|
|
|
|
- Console.WriteLine($"The result is : {resultCount}");
|
|
|
|
|
|
|
+ Console.WriteLine($"The result is : {result}");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|