1. C# / Говнокод #25521

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    using System;
    using System.Linq;
    using s = System.String;
    using i = System.Int32;
    class Player
    {
        static i sgn(i x) => x < 0 ? -1 : x > 0 ? 1 : 0;
        static s g(ref i z, i Z, s S)
        {
            i t = sgn(z - Z);
            if (t < 0) z++;
            else if (t > 0) z--;
            return S[t + 1] + "";
        }
        static void Main()
        {
            var a = Console.ReadLine().Split().Select(i.Parse).ToArray();
            i X = a[0], Y = a[1], x = a[2], y = a[3];
            while (true)
            {
                Console.ReadLine();
                Console.WriteLine(g(ref y, Y, "S N") + g(ref x, X, "E W"));
            }
        }
    }

    Поиск пути на плоскости от первой точки координат до второй. Выводит направление следующего передвижения.

    Запостил: groser, 08 Апреля 2019

    Комментарии (42) RSS

    • > using s = System.String;
      > using i = System.Int32;

      Вот главное говнецо-то.
      Ответить
    • "А ты точно лабораторную сам писал, никто не помогал?"
      Ответить
      • "А ты точно лабораторную сама писала, никто не помогал?"
        Исправил.
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • Абсолютное большинство научных открытий и достижений были совершены мужчинами.
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • Уровень интеллекта не зависит от образования. С каким родился — с таким и живёшь. Так вот у женщин интеллект от рождения сильно уступает таковому у мужчин.
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • Это не отменяет того факта, что женщины глупее мужчин — как были до 19-го века, так и остались до сих пор, несмотря на всеобщее образования и, тьфу, "равные права".
                    Ответить
                • Вроде бы считается, что среднее значение интеллекта примерно равное, а вот разброс у мужчин больше. Грубо говоря, Эйнштейнов больше, чем Софьй Ковалевских, но и, с противоположной стороны, дебилов больше, чем дур. (этому есть и эволюционное объяснение)
                  Однако даже такое утверждение может с точки зрения радикального феминизма посчитаться неполиткорректным и повлечь за собой как минимум административные последствия.
                  Ответить
    • Некрасиво, и передача по ссылке нинужна.
      using System;
      using System.Linq;
      
      class Player
      {
          public int x, y;
          
          public Player(int x, int y)
          {
              this.x = x;
              this.y = y;
          }
          
          private static int sign(int x)
          {
              return x < 0 ? -1 : x == 0 ? 0 : 1;
          }
          
          private string horizontalStepTo(int x)
          {
              var sdx = sign(this.x - x);
              this.x -= sdx;
              return "E W"[sdx + 1] + "";
          }
          
          private string verticalStepTo(int y)
          {
              var sdy = sign(this.y - y);
              this.y -= sdy;
              return "S N"[sdy + 1] + "";
          }
          
          public string stepTo(int x, int y)
          {
              return this.verticalStepTo(y) + this.horizontalStepTo(x);
          }
      }
      
      class Program
      {
          static void Main()
          {
              var a = Console.ReadLine().Split().Select(Int32.Parse).ToArray(); 
              var destX = a[0];
              var destY = a[1];
              var playerX = a[2];
              var playerY = a[3];
              Player player = new Player(playerX, playerY);
              while (Console.ReadLine() == "") {
                  Console.WriteLine(player.stepTo(destX, destY));
              }
          }
      }
      Ответить
      • Вот теперь это говно можно перевести на 'J':
        coclass 'Player'
          create =: verb define
            'X Y' =: y
          )
        
          destroy =: verb define
            codestroy ''
          )
        
          stepTo =: verb define
            sdxy =. * y - X,Y
            'X Y' =. sdxy + X,Y
            'N SW E' {~ 1 4 + sdxy
          )
        
        cocurrent 'base'
        
        main =: verb define
            input =. LF splitstring stdin ''
            'destX destY playerX playerY' =. 0 ". 0 {:: input
            n =. 0 ". 1 {:: input
            player =. (playerX,playerY) conew 'Player'
            for. i.n do.
                echo stepTo__player destX,destY
            end.
            destroy__player ''
        )
        
        main ''


        https://tio.run/##bVFNS8QwEL3nVzy8xNVadsH1UPCoJxFBwfa0dJtZrdSkJF21LPjX6yTNfiDNYULmvXnzZvIxDJWpmtI5yKem7MlKAVSWyo5wm@GL7BqKNrUmzgMyRyE90PNzJjgocp01/RS5MntQyj3dddS@mCm2Uz@skuICPa6QJ8Vpw3SEL4/5Rzy/4k5i94sFrhnxhLELT7S1lnQHuS4dSSE@y1pP9ax1u@28@sM9XNvUHdut9Ru7VFwQXHMrP0UeBi3QhiXl8R6tzXHmwy7LRsFQpQ/I4h8ylnr4PKolUW3GK9P0ffoVwMbYFHWqoUwaEv5Q9W7iLlerKBhsJsFm4JFWY0H8hQOR55rFnUg5DEss2ehc3Ig/
        Ответить
        • stepTo =: verb define
              sdxy =. * y - X,Y
              'X Y' =: sdxy + X,Y NB. должно быть так, =. присваивает локально
              'N SW E' {~ 1 4 + sdxy
            )
          Ответить
          • Без этого исправления код работал неверно..
            Ответить
      • var dirs = new string[]{ 
          " N ",
          "W E",
          " S " };
        return dirs[-sdy + 1][1] + dirs[1][sdx + 1];
        Ответить

    Добавить комментарий