コード例 #1
0
        static void Main(string[] args)
        {
            using (StreamReader sr = new StreamReader(args[0]))
            {
                while (!sr.EndOfStream)
                {
                    string[] line     = sr.ReadLine().Split('|');
                    int      MapX     = Int32.Parse(line[0].Substring(0, line[0].IndexOf('x')));
                    int      MapY     = Int32.Parse(line[0].Substring(line[0].IndexOf('x') + 1));
                    int      RobittaX = Int32.Parse(line[1].Trim().Substring(0, line[1].Trim().IndexOf(' ')));
                    int      RobittaY = Int32.Parse(line[1].Trim().Substring(line[1].Trim().IndexOf(' ') + 1));

                    Map  map      = new Map(MapX, MapY, RobittaX, RobittaY);
                    Robo robo     = new Robo();
                    int  NutCount = 0;

                    do
                    {
                        map.getNut(robo);
                        NutCount++;
                        robo.Forward(map);
                    } while (!map.RobittaFound);

                    Console.WriteLine(NutCount);
                }
            }
        }
コード例 #2
0
 public void getNut(Robo robo)
 {
     grid[robo.Y, robo.X] -= 1;
     if (grid[robo.Y, robo.X] == 1)
     {
         RobittaFound = true;
     }
 }