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

    +154

    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
    #include <fstream>
    #include <string>
    #include <vector>
    using namespace std;
    
    int main()
    {
        fstream in("z.in", ios::in);
        fstream out("z.out", ios::out);
    
        string s;
        in >> s;
    
        in.close();
    
        vector<size_t> z(s.length());
        z[0] = s.length();
        for (size_t i = 1, l = 0, r = 0, j = 0, k = 0; i < s.length(); (i > r) ? ((s[i + j] == s[j]) && ((j + i) < s.length()) ? ++j : (((z[l = i] = j, r = i + j - 1), j = 0), ++i)) : ((z[i - l] < r - i + 1) ? ((z[i] = z[i - l]), ++i) : (((s[r + k] == s[r - i + k]) && ((k + r) < s.length())) ? ++k : (((z[l = i] = r - i + k, r = r + k - 1), k = 1), ++i))));
    
        for(size_t i = 1; i < s.length(); ++i)
        {
            out << z[i] << " ";
        }
    
        out << flush;
        out.close();
    
        return 0;
    }

    Z-функция в одну строчку. плод больного воображения и лишнего времени

    Запостил: finomen812, 26 Февраля 2011

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

    • говноформатирование - еще не говнокод
      Ответить
      • как ни форматируй вложенные тернарные операторы еще и с использованием запятых, адекватный код не родить
        Ответить
        • тернистая тернарность.
          P.S. лаба детектед
          Ответить
          • >вложенные тернарные операторы
            Так говоришь, будто это плохо.

            3689
            Ответить
            • плохо все то, что ухудшает читаемость кода. в случае тернарно оператора - обилие однотипных вопросиков, двоеточий, и скобочек
              Ответить
              • Код-то явно для куражу написан.
                Ответить
                • Это, наверное, чтобы другим сдирать лабораторку было сложно.
                  Ответить

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