1. C++ / Говнокод #21499

    −22

    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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    #include <iostream>
      
    #define LL long long
      
    using namespace std;
      
     
      
    bool Diagonals(int, int);
      
    const int N = 9;
    int brd[N][N], x, y, _x, _y;
    int W[8][2] = {{-1, -2}, {-2, -1}, {-2, 1}, {-1, 2}, 
                    {1, 2}, {2, 1}, {2, -1}, {1, -2}}; 
      
    int main()
    {
        char c;
        cin >> c >> y;
        x = c - 'A' + 1;
        cin >> c >> _y;
        _x = c - 'A' + 1;
          
        x--; y--; _x--; _y--;
      
        y = N - y  - 1;
        _y = N - _y - 1;
      
        for(int i = 0; i < N; i++)
            for(int j = 0; j < N; j++)
                brd[i][j] = (i + j) % 2;
          
        brd[_y][_x] = 2;
      
        if(x == _x && y == _y)
            cout << 0;
        else
            if((_x + _y) % 2)
                cout << -1;
            else
            {
                if((x + y) % 2)
                {
                    int dx, dy;
                    for(int k = 0; k < 8; k++)
                    {
                        dx = x + W[k][0], dy = y + W[k][1];
                        if((dx >= 0 && dx < N) && (dy >= 0 && dy < N))
                            if(brd[dy][dx] > 1)
                            {
                                cout << 1;
                                return 0;
                            }
                    }
      
                    for(int k = 0; k < 8; k++)
                    {
                        dx = x + W[k][0], dy = y + W[k][1];
                        if((dx >= 0 && dx < N) && (dy >= 0 && dy < N))
                        {
                            if(Diagonals(dx, dy))
                            {
                                cout << 2;
                                return 0;
                            }
                        }
                    }
                    cout << 3;
                }
                else
                    cout << (Diagonals(x, y) ? 1 : 2);
            }
      
        return 0;
    }
      
    bool Diagonals(int x, int y)
    {
        int t = x;
        x = y, y = t;
        int j = y, i = x;
        for(; i < N && j < N; i++, j++){
            if(brd[i][j] > 1)
                return true;
        }
        for(j = y, i = x; i >= 0 && j >= 0; i--, j--){
            if(brd[i][j] > 1)
                return true;
        }
        for(j = y, i = x; i < N && j >= 0; i++, j--){
            if(brd[i][j] > 1)
                return true;
        }
        for(j = y, i = x; i >= 0 && j < N; i--, j++){
            if(brd[i][j] > 1)
                return true;
        }
        return false;
    }

    Решение задачи на acmp - после бутылки вина, писал сам не знаю что. настрал.

    Запостил: aat, 19 Октября 2016

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

    • Гм. Вот смотрю я на это и думаю, что начинать день с полстакана и продуктивно работать до семи, а потом ещё и вечером (не каждый день, на самом деле) - это хорошо.
      А, да, спать еще 5-6 часов. Ребёнок же. А более сложные стимуляторы употреблять не рискую после одного нехорошего опыта с метамфетамином (никто не пострадал). Скорее бы накопилось дней пять отпуска, да взять жену и дочку и улететь на неделю куда-нибудь.
      Ответить
      • показать все, что скрытоНу ты и быдла.
        Ответить
        • показать все, что скрытоТак что, гои, вывешивайте свои фото! Фэйсбук их аккуратно собирает и подшивает. Ведь не только для “Фейс идентификации” пригодятся ваши фото. США уже насильно собрали образцы ДНК со своего населения. А Питер Тиль уже купил медицинские данные Американцев. ДНК образцы плюс фото — это платформа для глобального АДРЕСНОГО применения психотронного оружия — С ПЛАВУЧИХ СЕРВЕРОВ ГУГЛА В НЕЙТРАЛЬНЫХ ВОДАХ.

          Скоро вы, гои, горько будете завидовать мусульманкам в паранжах и бурках, скрывающих своё лицо — когда любой прибор в вашем доме, системы “смарт”, будет подключён к Глобальному Искусственному Интеллекту (“Глазу”), начиная от вашей машины “не-до-Лады” до кофеварки и мобильника, и будет управляться этой внешней враждебной силой извне, а, главное, будет использоваться как психотронное оружие.

          Когда степень интеграции электронных устройств по всему миру достигнет желаемой степени, Гугл нанесёт глобальный кибер удар из нейтральных вод. Нет, не Ротшильды, Рокфеллеры и Соросы, не Королева Англии, а четыре ублюдка — Питер Тиль, Илон Маск и подонки Гугла с Брайтон Бича решили стать полубогами на устаревших Советских технологиях.
          Ответить

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