bastien.monsarrat 6 years ago
parent
commit
6fe327213f

+ 13 - 1
Adv2016.sln

@@ -5,7 +5,11 @@ VisualStudioVersion = 15.0.28307.421
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "D01.1", "D01.1\D01.1.csproj", "{BFC32D85-5E89-4365-B038-01A75BDB8B94}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D01.2", "D01.2\D01.2.csproj", "{81477827-852E-4DB6-9D2B-C914B9B1B847}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "D01.2", "D01.2\D01.2.csproj", "{81477827-852E-4DB6-9D2B-C914B9B1B847}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D02.1", "D02.1\D02.1.csproj", "{6ADE6A73-600A-4CE2-8A68-A770BD3B438E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D02.2", "D02.2\D02.2.csproj", "{93A5ABCB-787E-41AB-8098-3640A84B2A62}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -21,6 +25,14 @@ Global
 		{81477827-852E-4DB6-9D2B-C914B9B1B847}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{81477827-852E-4DB6-9D2B-C914B9B1B847}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{81477827-852E-4DB6-9D2B-C914B9B1B847}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6ADE6A73-600A-4CE2-8A68-A770BD3B438E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6ADE6A73-600A-4CE2-8A68-A770BD3B438E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6ADE6A73-600A-4CE2-8A68-A770BD3B438E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6ADE6A73-600A-4CE2-8A68-A770BD3B438E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{93A5ABCB-787E-41AB-8098-3640A84B2A62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{93A5ABCB-787E-41AB-8098-3640A84B2A62}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{93A5ABCB-787E-41AB-8098-3640A84B2A62}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{93A5ABCB-787E-41AB-8098-3640A84B2A62}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 9 - 0
D02.1/D02.1.csproj

@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
+    <RootNamespace>D02._1</RootNamespace>
+  </PropertyGroup>
+
+</Project>

+ 48 - 0
D02.1/Program.cs

@@ -0,0 +1,48 @@
+using System;
+using System.IO;
+
+namespace D02._1
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            if (args.Length < 1) throw new ArgumentException();
+            if (File.Exists(args[0]) == false) throw new FileNotFoundException();
+
+            var inputs = new string[3,3] { { "1", "2", "3" }, { "4", "5", "6" }, { "7", "8", "9" } };
+            (int x, int y) finger = (1, 1);
+
+            string answer = "";
+
+            using (var file = File.OpenText(args[0]))
+            {
+                while (true)
+                {
+                    var line = file.ReadLine();
+                    if (line == null) break;
+
+                    foreach (char c in line)
+                    {
+                        switch (c)
+                        {
+                            case 'U': finger.y--; break;
+                            case 'D': finger.y++; break;
+                            case 'L': finger.x--; break;
+                            case 'R': finger.x++; break;
+                        }
+
+                        if (finger.x < 0) finger.x = 0;
+                        if (finger.x > 2) finger.x = 2;
+                        if (finger.y < 0) finger.y = 0;
+                        if (finger.y > 2) finger.y = 2;
+                    }
+
+                    answer += inputs[finger.y, finger.x];
+                }
+            }
+
+            Console.WriteLine($"The answer is : {answer}");
+        }
+    }
+}

+ 8 - 0
D02.1/Properties/launchSettings.json

@@ -0,0 +1,8 @@
+{
+  "profiles": {
+    "D02.1": {
+      "commandName": "Project",
+      "commandLineArgs": "\"..\\..\\..\\..\\D02.1\\input.txt\""
+    }
+  }
+}

+ 5 - 0
D02.1/input.txt

@@ -0,0 +1,5 @@
+RRLLRLLRULLRUUUDRDLDDLLLDDDDDUUURRRRUUDLRULURRRDRUDRUUDDRUDLLLRLDDDUDRDDRRLLLLRLRLULUURDRURRUULDRRDUDURRUURURDLURULLDUDRDLUUUUDDURRLLLUDLDLRDRRRDULLDLDULLDRLDLDURDLRRULLDDLDRLLLUDDLLRDURULLDDDDDUURURLRLRRDUURUULRLLLULLRLULLUUDRRLLDURLDDDDULUUDLUDDDULRLDURDDRUUDRRUUURLLLULURUDRULDRDUDUDRRDDULRURLLRRLRRLLDLULURDRDRULDRDRURUDLLRRDUUULDDDUURDLULDLRLLURRURLLUDURDDRUDRDLLLLDLRLDLDDRDRRDUUULLUULRRDLURLDULLDLDUUUULLLDRURLRULLULRLULUURLLRDDRULDULRLDRRURLURUDLRRRLUDLDUULULLURLDDUDDLLUDRUDRLDUDURRRRLRUUURLUDDUDURDUDDDLLRLRDDURDRUUDUDRULURLRLDRULDRRLRLDDDRDDDRLDUDRLULDLUDLRLRRRLRDULDDLRRDDLDDULDLLDU
+RULLUDDUDLULRRDLLDRUDLLLDURLLLURDURLRDRRDLRDRDLLURRULUULUDUDDLLRRULLURDRLDURDLDDUURLUURLDLDLRLDRLRUULDRLRLDRLRLUDULURDULLLDRUDULDURURRRUDURDUDLRDRRURULRRLRLRRRRRRDRUDLDRULDRUDLRDLRRUDULDLRLURRRLLDRULULRUDULRLULLRLULDRUDUULLRUULDULDUDDUUULLLDRDDRRDLURUUDRRLRRRDLRRLULLLLDLRUULDLLULURUURURDRURLLDUDRRURRURRUUDDRRDDRRRRUDULULRLUULRRDDRDDLLUDLDLULLRLDRLLUULDURLDRULDDUDRUUUURRLDDUDRUURUDLLDLDLURDLULDRLLLULLLUDLLDLD
+RDLDULURDLULRRDLRLLLULRUULURULLLDLLDDRLLURUUUURDRLURLLRLRLLLULRDLURDURULULDDUDDUDRLRLDLULLURRRUULUDRDURRRUDDDLUDLDLRLRRLLLRUULLLLURRDDDRRRUURULRLDRRRLRLUDDRRULDDDRUUDDRLLDULRLUDUDLDLDDDUDDLLDDRDRDUDULDRRUDRDRRDRLUURDLRDDDULLDRRRRRUDRLURDUURRDDRLUDLURRRLRDDDLRRLUULRLURDUUURRDLDDULLLRURRRUDRLUDLLDDDDDUDDRDULLUUDDURRLULLUDULUUDRLDRRRLLURLRRLLDLLLLUDRUUUDDULLRDLLDUDUDUURRUUUDRUURDRDLLDLDDULLDDRRULDLDDUUURLDLULLLRRLLRDDULLDLDLDDLDLDULURRDURURDRDRRDLR
+RDRLRRUUDRLDUDLLDLUDLUUDUDLRRUUDRDDDLDDLLLRRRUDULLRRRRRURRRLUDDDLRRRRUUULDURDRULLDLRURRUULUDRURRRRLRURLRDUUDUDUDRDDURRURUDLLLLLRURUULRUURLLURDRUURLUDDDRLDDURDLDUDRURDRLRRRRUURDDRRRRURDLUUDRLDRDUULURUDDULLURRDUDLUULLDURRURLUDUUDRDDDUUDDUUUULDLDUDDLUDUUDRURLLULRUUULLRRDDUDDLULDDUUUDLUDDLDDLLRUUDRULLRRDRLLDLLRRLULLRRDDRLRDUULLLUULLDLLUDUDDLRDULUDLDLUDDRRRRDUDLUULLULDLRRDLULRLRRRULRURRDRLULDDUDLDLDULLURLLRDLURRULURDLURLUDRDRRUUDRLLUDDRLRDDUURLRRDUDLDRURDUUUDRRLLRDLDLLDRRURLUDURUULDUDLDDDDRUULLDDRLRURRDURLURRLDDRRRRLRLRDRURUDDRDLDRURLULDDL
+RULRDLDDLRURDDDDDDRURLLLDDDUUULLRRDLDLURUURLUDLURRLUDUURDULDRUULDDURULDUULDDULLLUDLRULDRLDLRDDRRDLDDLLDRRUDDUDRDUULUDLLLDDLUUULDDUUULRRDULLURLULDLRLLLRLURLLRLRLDRDURRDUUDDURRULDDURRULRDRDUDLRRDRLDULULDRDURDURLLLDRDRLULRDUURRUUDURRDRLUDDRRLDLDLULRLLRRUUUDDULURRDRLLDLRRLDRLLLLRRDRRDDLDUULRLRRULURLDRLRDULUDRDLRUUDDDURUDLRLDRRUDURDDLLLUDLRLURDUDUDULRURRDLLURLLRRRUDLRRRLUDURDDDDRRDLDDLLDLRDRDDRLLLURDDRDRLRULDDRRLUURDURDLLDRRRDDURUDLDRRDRUUDDDLUDULRUUUUDRLDDD

+ 9 - 0
D02.2/D02.2.csproj

@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
+    <RootNamespace>D02._2</RootNamespace>
+  </PropertyGroup>
+
+</Project>

+ 63 - 0
D02.2/Program.cs

@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+
+namespace D02._2
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            if (args.Length < 1) throw new ArgumentException();
+            if (File.Exists(args[0]) == false) throw new FileNotFoundException();
+
+            string NUL = null;
+            var inputs = new string[5,5] { 
+
+                { NUL, NUL, "1", NUL, NUL }, 
+                { NUL, "2", "3", "4", NUL }, 
+                { "5", "6", "7", "8", "9" },
+                { NUL, "A", "B", "C", NUL },
+                { NUL, NUL, "D", NUL, NUL }, 
+
+            };
+            (int x, int y) finger = (0, 2);
+
+            string answer = "";
+
+            using (var file = File.OpenText(args[0]))
+            {
+                while (true)
+                {
+                    var line = file.ReadLine();
+                    if (line == null) break;
+
+                    foreach (char c in line)
+                    {
+                        (int x, int y) = finger;
+                        switch (c)
+                        {
+                            case 'U': y--; break;
+                            case 'D': y++; break;
+                            case 'L': x--; break;
+                            case 'R': x++; break;
+                        }
+
+
+                        if (y < 0) y = 0;
+                        if (y > 4) y = 4;
+                        if (x < 0) x = 0;
+                        if (x > 4) x = 4;
+
+                        if (inputs[y, x] == NUL) (x, y) = finger;
+                        finger = (x, y);
+                    }
+
+                    answer += inputs[finger.y, finger.x];
+                }
+            }
+
+            Console.WriteLine($"The answer is : {answer}");
+        }
+    }
+}

+ 8 - 0
D02.2/Properties/launchSettings.json

@@ -0,0 +1,8 @@
+{
+  "profiles": {
+    "D02.2": {
+      "commandName": "Project",
+      "commandLineArgs": "\"..\\..\\..\\..\\D02.1\\input.txt\""
+    }
+  }
+}