Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задачка про питона, Заведомо неудачная попытка победить перл 
:(
    Опции темы
SaDFromSpb
Дата 22.1.2010, 15:41 (ссылка) |  (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 5.4.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 3



На перловой конференции 2009-го года была представлена следующая задачка:
http://golf.yapcrussia.org/2009/
Вот список победивших решений:
http://jerom.livejournal.com/147166.html
Самое лучшее из них:
Код

#!perl -naF
map{/[h-l]/?do{$y[$n]=o;push@p,$n;$y[$p[$t+=$y[$n+=$$_]!=1]]='-';$y[$n]=x}:do{push@y,$_;$n=$#y
if/x/;$p[1]=$#y if/o/}}@F;$h=-1;$l=1;$k=-($j=@F)}{pop@y;print@y



Вот мое на С++ :

Код

#include <iostream>
#include <deque>
#include <string>
using namespace std;deque<int>b(2);int main(){string s,o;cin>>s;int r=0,h,l=s.size()+1;for(;cin;cin>>s){o+=s+'\n';}b[0]=o.find('x');b[1]=o.find('o');for(;r<s.size();++r){h=b[0];
#define I if(s[r]==
I'k')h-=l;I'j')h+=l;I'h')--h;I'l')++h;b.push_front(h);if (o[h]=='-'){o[b.back()]='-';b.pop_back();}o[h]='x';o[b[1]]='o';}for(l=r+1,r=0;r<o.size()-l;cout<<o[r++]);}



Ну или его развернутый вариант:
Код

#include <iostream>
#include <deque>
#include <string>
using namespace std;
deque<int> b(2);
int main() 
{
  string s,o;
  cin>>s;
  int r=0,h,l=s.size()+1;
  for(;cin;cin>>s){o+=s+'\n';}
  b[0]=o.find('x');
  b[1]=o.find('o');
  for(;r<s.size();++r){
    h=b[0];
#define I if(s[r]==
    I'k')h-=l;
    I'j')h+=l;
    I'h')--h;
    I'l')++h;
    b.push_front(h);
    if (o[h]=='-'){
      o[b.back()]='-';
      b.pop_back();
    }
    o[h]='x';
    o[b[1]]='o';
  }
  for(l=r,r=0;r<o.size()-l-1;cout<<o[r++]);
}


Может у кого-нибудь получится еще короче? =)


--------------------
"За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001)
PM   Вверх
Alek86
Дата 22.1.2010, 16:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



Код
if (

поменять на
Код
if(



--------------------
user posted image    user posted image
PM MAIL   Вверх
zim22
Дата 22.1.2010, 20:31 (ссылка) |   (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 24
Всего: 69



Цитата(SaDFromSpb @  22.1.2010,  14:41 Найти цитируемый пост)
Самое лучшее из них:

нечитаемый бред


--------------------
PM MAIL   Вверх
GoldFinch
Дата 22.1.2010, 20:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 15
Всего: 26



zim22, есть вещи которые кодятся ради красивого решения, а не ради самого решения
PM MAIL ICQ   Вверх
SaDFromSpb
Дата 22.1.2010, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 5.4.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 3



Alek86, Ха!... Точно! =)))


Цитата(zim22 @  22.1.2010,  20:31 Найти цитируемый пост)
нечитаемый бред 

Что поделать... Максимальная краткость в данном случае главный критерий...



--------------------
"За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001)
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0971 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.