Блог пользователя amirali1374

Автор amirali1374, 13 лет назад, перевод, По-русски

Язык сегодняшнего соревнования — Pike. Pike был спроектирован Фредериком Хюбинеттом из университета Линкёпинга в Швеции в 1994 году. Это еще один язык с фигурными скобками и C-подобным синтаксисом. Он может быть использован как для написания небольших скриптов, так и довольно больших программ. Если вы фанат GNU-Emacs, то будете приятно удивлены наличием встроенной подсветки!

Вот пример кода на языке Pike (не используйте предыдущий пример!):

int main() {<br>string s=Stdio.stdin->gets();<br>write(s);<br>return 0;<br>} 

Вы можете найти информацию по языку на его домашней страничке: http://pike.ida.liu.se/. Кроме того обратите внимание на http://www.gotpike.org/. Больше информации вы можете найти в Интернете, используя поисковики.

Обращаем ваше внимание, что чтение под windows на pike работает некорректно из-за отсутствия специальной обработки символа \r. Поэтому, все входные файлы к решениям на pike подвергаются насильственной обработке по удалению символов \r.

Вы можете использовать вкладку "Запуск" в интерфейсе контеста для запуска решений на Pike. Кроме того, http://ideone.com/ поддерживает Pike. Или вы можете установить Pike локально. Если вы пользователь *nix операционной системы, то можете попробовать установить пакет с языком Pike.

Пароль для архива: 18fbfca3e186dcf9f6faf08d0a3b5681.

Всем удачи и веселого контеста!

================================

Это перевод, просьба использовать преимущественно английский язык в комментариях.

Всем привет!

30-го июля в 10:00 вас ждет Unknown Language Round #3. Это уже третий контест такого рода. Правила очень просты и забавны:

  1. Вы участвуете в индивидуальном контесте по правилам ACM-ICPC.
  2. Этот контест не пойдет в рейтинг.
  3. Отсылать задачи вы можете только на одном языке. Этот язык держится в секрете до начала контеста, и мы надеемся будет неизвестным для абсолютного числа участников. Как обычно, мы выбрали не очень популярный язык программирования.

Это будет 100-ое соревнование на Codeforces. Мы поздравляем Михаила Мирзаянова с разработкой такой быстроразвивающийся системы.

В этом соревновании будет 10 задач. В большей степени они будут ориентированы на написание кода, чем на разработку эффективных алгоритмов. Задачи для вас готовили Киана Голампур, Соруш Фаррохниа, Амир Гохаршади, Михаил Мирзаянов и я (Амирали Мохаммадзаде).

Мы признательны Артему Рахову за помощь в подготовке задач, Марие Беловой за перевод, Захра Роханифару за помощь в тестировании задач и Хусейну Бумари за обучение нас искусству программирования.

Это соревнование посвящается одному человеку, но пока это секрет. Примерно за минуту до начала контеста мы откроем все секреты!

UPD: Доступен запароленный архив для предварительного скачивания. Он содержит некоторые файлы, связанные с языком сегодняшнего контеста. Вы можете скачать его уже сейчас, а пароль будет опубликован вместе с анонсом языка.

  • Проголосовать: нравится
  • +60
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится
Wow, it's the first green round on Codeforces!
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
i hope it will be java)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
In my opinion, Unknown Language will be Cobra or ALGOL or Dylan. Am I right?!
13 лет назад, # |
Rev. 2   Проголосовать: нравится +10 Проголосовать: не нравится

double post
13 лет назад, # |
  Проголосовать: нравится -12 Проголосовать: не нравится
Давайте это на глане, через сутки контест уже. :-)
13 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
Вот бы что-нибудь функциональное :-)
13 лет назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится
I want language brainfuck)))
13 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
The invitational letter (Russian edition) states that the contest starts at 11:00 MSD. However, the timeanndate.com link itself gives 10:00 MSD. The starting time on the site is also 10:00 MSD.

What is the right starting time?
  • 13 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится
    Sorry, 10:00. It's my fault.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      I just notice that the starting time of round 79 and 80 are unusual. Is there a reason? It had turned out that 7:00 PM MSD is nice for most of the participants(if not the best, look at the huge number of participants from the past contests). So why change?
13 лет назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится
It's the second ULR with Iranian author!
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I have an exotic variant: Prolog or Lisp =))
13 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится
An Unknown Language Round should be unknown for almost everyone ,In that case everyone will enjoy it very much....
Best of Luck Everyone...
Hope all of us will make our-self comfortable for a new language and learn something new ......:D
13 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
the secret lang should be completely a surprise for everyone .
13 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
When will the language be known? 10 minutes before start or just before start?
13 лет назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

It's my first ULR, so I don't know how it's going...

Does the archive contain compiler of interpreter of the language? If yes, then what OS is it for? If no, would it be possible to get it from somewhere?

13 лет назад, # |
  Проголосовать: нравится -21 Проголосовать: не нравится
It's Haskell or Java 7?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
custom test crashed?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
 Будет ли возможность дорешивания задач по окончанию контеста на любых языках?
13 лет назад, # |
Rev. 2   Проголосовать: нравится -9 Проголосовать: не нравится

Как-то странно получается. У меня на WinXP. Установил pike из дистрибутивчика, выложенного здесь. Функция sizeof(string) возвращает значение (длина string+1), а на кф в запуске и при проверке возвращает значение (длина string).
  • 13 лет назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится
    Обращаем ваше внимание, что чтение под windows на pike работает некорректно из-за отсутствия специальной обработки символа \r. Поэтому, все входные файлы к решениям на pike подвергаются насильственной обработке по удалению символов \r
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +7 Проголосовать: не нравится

    Так написано же: "Обращаем ваше внимание, что чтение под windows на pike работает некорректно из-за отсутствия специальной обработки символа \r. Поэтому, все входные файлы к решениям на pike подвергаются насильственной обработке по удалению символов \r."

    UPD: не успел :)
  • 13 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

    Обращаем ваше внимание, что чтение под windows на pike работает некорректно из-за отсутствия специальной обработки символа \r. Поэтому, все входные файлы к решениям на pike подвергаются насильственной обработке по удалению символов \r.

    P.S. Черт, третий :)
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

    У меня было так) но дело в том, что на моей машине в строку также пихался '\n', а на КФ нет

    upd: Надо же, сколько ответов то) 
13 лет назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится
I didn't like pike at all.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +37 Проголосовать: не нравится
    I completely agree. In my opinion, it's too similar to c++. So basically the only thing you had to do is to figure out how to read data (that turned out to be quite similar to C as well). After that it was just solving trivial problems in a familiar language.

    Even though it's my first ULR, for future rounds I'd prefer languages with much weirder syntax (something like APL :) ) or non-imperative paradigm (maybe something functional). In that case participants would have to learn something more than just another few library functions.
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +24 Проголосовать: не нравится

      Probably for some of newbie coders it was useful to read documentation and figure out the neccessary library functions.It's one of the skills each programmer should master.  Btw,the documentation is organized quite well:)

      But , i think the round was quite boring for experienced coders.

  • 13 лет назад, # ^ |
      Проголосовать: нравится +31 Проголосовать: не нравится
    Actually, it is pretty nice. I've spent the first hour reading manuals and have found a bunch of interesting things. Although it's syntax look like C++ and it supports imperative paradigm (and these facts made it easier to catch up), it differs quite a lot from C++.

    Pike has both dynamic and static typing, functions are first class citizens (lambdas are there), it has a garbage collector, it is easier to perform various operations over containers and etc. Many actions can be performed easier, with less code, but, as I suppose, most contestants (including me) were using just a C++-simillar approach and style.

    I'm just implying that, maybe, if the one will spend a bit more time on reading about pike (instead of a rush at the contest), you may like it at least a little bit.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +26 Проголосовать: не нравится
      Just an interesting fact:
      If the one will read manuall carefully, he may notice that `int` type is, by default, expanded to the bignum type in case of an overflow. So, the solution for problem C should look something like:

      1. #!/usr/bin/env pike

      2. int main ()
      3. {
      4.     int a, b;

      5.     a = (int) Stdio.stdin.gets ();
      6.     b = (int) Stdio.stdin.gets ();
      7.     write ((string) (a + b));


      8.     return 0;
      9. }

      Whereas, many people have implemented long summation by hand.
      • 13 лет назад, # ^ |
          Проголосовать: нравится -14 Проголосовать: не нравится
        It's faster to implement addition of big numbers than read the manual :)
13 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
Pike syntax is similiar to that in C so it was not that fun to solve the round.
Maybe, it would be more interesting with functional or logic programming language?
13 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
Nice round, thanks to authors!
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Problem F was too hard for me during the contest, I spent a lot of time (about 30 min), write a lot of stupid code - and didn't solved it... But really it's very easy... FAIL.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

This version of Pike can't process this code:

    float f;   sscanf(s,"%d",f);

but it works on http://ideone.com/. It's strange that the ideone.com has older version of language.

13 лет назад, # |
Rev. 2   Проголосовать: нравится +12 Проголосовать: не нравится

Thanks to the authors for their effort (one day I MUST force myself to write a ULR myself), but the round itself was a disaster for me. First 1.5 hours I could barely load the problem descriptions, and at all times I couldn't submit - the system just rejected my files ("please select a file") or the page didn't load at all.
13 лет назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится
hey mike , how many people participated in total for "unknown round" ?

Besides this was really fun .
13 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Вообще без палева http://ideone.com/recent/19-pike
Особенно так интересно наблюдать, отсылаешь задачу, на 21 тесте ошибка. И после этого несколько человек тоже отсылают решение этой же задачи и тоже получают ошибку на 21 тесте. Не честно это >_<
  • 13 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    галочка "частный" special 4 u
  • 13 лет назад, # ^ |
      Проголосовать: нравится +13 Проголосовать: не нравится
    Если зарегистрироваться, будет доступна опция приватного кодинга.
13 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится
Когда будет следующий ULR? Хочу еще )
13 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится
sudo apt-get install pike7.8
from this perspective linux users have had a huge advantage :) I had my machine set up in two minutes after contest started.

Thanks for the contest. I love such kind of contests (short period of time, lots of reasonably easy problems). Also, I loved to learn a new language, which is similar to the languages I know, though have a very nice functional influence. However, some more obscure language would be also fun :)

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
یاد این تیتراژ آخر فیلما افتادم ... نمیدونم چرا؟!؟‌‌  ;) :P
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
How can I see other coders submission for this round?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    In front of the problem , number of people who solved it is written (e.g. x10). click on it and in the following page click on any submission ID to see the code.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
In the 2nd question,how to accept the input as it is separated by commas..Plz help
Thanx in advance
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    I did it like this:
            array a
    = Stdio.stdin->gets()/",";
           
    for (int i = 0; i < n; i++)
                    sscanf
    (a[i], "%d", a[i]);
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
I'm trying to submit my solutions but get "Judgment failed" error each time. Is this the server-side problem?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I am also having the "Judgment failed" problem
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
me too, receive "Judgment failed" after submit, i think it is due to the system's problem, could admin help to solve this problem? Or the system will not support the language after the contest?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
me too! I also received "Judgement Failed". Do admins notice the issue?