Куча говна / Говнокод #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. арендуется овердохуя серверов. запускается.
          После каждой генерации запускаются тесты, если тесты проходят значит программа написана. Все довольны.
          Ответить

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

Семь раз отмерь — один отрежь, guest!

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


    8