Куча говна / Говнокод #18939 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
l =: 3 :  'LF,~":<./(*/,*/"1)(i.2){(\:~,./:~)t=.}.".y rplc LF,'' -_'''

l&.stdin ''
exit ''

Запостил: Abbath Abbath, (Updated )

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

  • Офтопик. Напомнило C=}>;*{)) — пьяный злой чёрт в парике, надетом наоборот, с усами и с двойным подбородком.
    Ответить
    • Ищет минимальное произведение
      #include <iostream>
      #include <vector>
      #include <algorithm>
      #include <iterator>
      using namespace std;
      int main() {
      	int n,i=0;
      	cin >> n;
      	vector<double> v(n);
      	for(istream_iterator<double> it(cin); i < n; v[i] = *it++, i++);
      	sort(begin(v), end(v));
      	vector<double> t{v[0]*v[1], v[n-1]*v[n-2], v[0]*v[n-1]};
      	cout << *min_element(begin(t), end(t));
      	return 0;
      }
      Ответить
      • Лень читать код - минимальное произведение из всех возможных элементов вектора?
        Ответить
        • Теперь линейная
          #include <iostream>
          #include <algorithm>
          #include <iterator>
          #include <list>
          using namespace std;
          int main() {
          	int n,i=0;
          	cin >> n;
          	list<double> v;
          	for(istream_iterator<double> it(cin); i < n; v.push_back(*it++), i++);
          	auto p1 = minmax_element(begin(v), end(v));
          	auto p = make_pair(*(p1.first), *(p1.second));
          	v.erase(p1.first);
          	v.erase(p1.second);
          	p1 = minmax_element(begin(v), end(v));
          	list<double> t{p.first*p.second, *(p1.first)*p.first, *(p1.second)*p.second};
          	cout << *min_element(begin(t), end(t));
          	return 0;
          }
          Ответить
          • Хуясе код от веткардиохирурга. Я к вам лечиться пойду, когда прижмёт.
            А если в первой крестовой версии заменить sort на partial_sort, сложность же будет не намного хуже?
            Ответить
            • Нам и конец вектора нужен. Так что partial_sort не прокатит. Зато можно так:
              #include <iostream>
              #include <vector>
              #include <algorithm>
              #include <iterator>
              using namespace std;
              int main() {
              	int n,i=0;
              	cin >> n;
              	vector<double> v(n);
              	for(istream_iterator<double> it(cin); i < n; v[i] = *it++, i++);
              	nth_element(begin(v), begin(v), end(v));
              	nth_element(begin(v), begin(v)+1, end(v));
              	nth_element(begin(v), end(v)-2, end(v));
              	nth_element(begin(v), end(v)-1, end(v));
              	vector<double> t{v[0]*v[1], v[n-1]*v[n-2], v[0]*v[n-1]};
              	cout << *min_element(begin(t), end(t));
              	return 0;
              }
              Ответить
  • Это J/K? Не понимаю упорышей, которые на нем пишут. Причем даже коммерческие проекты на нем есть.
    Ответить
      • Неверная аналогия. Правильнее бы было так: кто-то выучил арабский алфавит и решил использовать его вместо кириллицы в русском языке, а еще убрал пробелы и переносы строк, потому что они не нужны.
        Ответить
        • Пожалуй, соглашусь. Проблема J не столько в семантике, сколько в нечитаемых знаках препинания. Если бы в нём, как в SQL, каждый оператор обозначался словом на каком-нибудь естественном языке (например, на английском), читалось бы намного легче.
          Ответить
          • Такое есть. Каждую закорючку можно поменять на ее название. Это есть где-то в стандартной либе.
            Ответить
      • Да, меня однажды приглашали биржевых роботов каких-то писать на нем. Якобы, это быстрее, чем на нормальных языках.
        Ответить
        • я думаю пишется на нем там. 1 . готовятся тесты. 2. подключается генератор символов. 3. арендуется овердохуя серверов. запускается.
          После каждой генерации запускаются тесты, если тесты проходят значит программа написана. Все довольны.
          Ответить

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8