Pull to refresh

Comments 86

В чем проблема то? :) Бежим справа налево и находим первое не максимальное значение разряда, его увеличиваем на 1, остальные числа (правые) обнуляем.
UFO landed and left these words here
Точно, сходу не заметил, что 22 — первый
UFO landed and left these words here
Первое не максимальное — 22.
Его увеличиваем до 23, правые обнуляем — 3 8 15 16 23 0
это задачка на скорость набора кода?
И еще тест на то, как бравада соответствует возможностям. Единственным подтверждением того, что для вас это вопрос скорости набора будет правильный файл
мож ещё Hello world на скорость написать?
Эх… вот раньше задачки были… не то, что сейчас :)
Непонятно в чём прикол. Обычная задача на сложение в разных системах счисления. Школьный уровень. Разница в том, что для всех разрядов разное основание и что с того, непонятно.
Ну я отправил, кстати) Вдруг и правда денег дадут :)
А чем подвох?
<?php

///////////////////////////////////////////////////////////////////////////////////////
function convert_ko($s) {

$a = explode(" ", trim($s));
if (++$a[5] > 42) {
$a[5] = 0;
if (++$a[4] > 23) {
$a[4] = 0;
if (++$a[3] > 16) {
$a[3] = 0;
if (++$a[2] > 15) {
$a[2] = 0;
if (++$a[1] > 8) {
$a[1] = 0;
if (++$a[0] > 4) {
$a[0] = 0;
echo("overflow at : $s
\n");
}
}
}
}
}
}
return implode(" ", $a);

}
///////////////////////////////////////////////////////////////////////////////////////

$f = fopen("konkurs1.txt", "rt");
$fo = fopen("out.txt", "wt");

while (!feof($f)) {
$s = fgets($f);
fputs($fo, convert_ko($s) . "\n");
}

fclose($f);
fclose($fo);

?>
защитан будет только выходной файл
Javascript:
var input = [
    '1 3 12 22 0 11',
    '2 0 0 16 23 42',
    '4 8 15 16 23 42'
];
var max   = [4, 8, 15, 16, 23, 42];
var output = {};

for (var i = input.length; i--;) {
    var cur = input[i].split(' ');
    for (var k = cur.length; k--;) {
        if (cur[k] == max[k]) {
            cur[k] = 0;
        } else {
            cur[k]++;
            break;
        }        
    }
    if (k == -1) cur.unshift(1);
    output[input[i]] = cur.join(' ');
}
for (var o in output) alert(o + ': ' + output[o]);


Пруф: jsfiddle.net/MVSUv/1/

Запись-чтение с файла — не проблема, но в браузере не проверишь.
защитан будет только выходной файл отправленный описанным образом. почемуто 2 человека с этой частью задачи не смогли справится )
мож не хотят заходить на ваш сайт? ведь в этом суть вашей задачи?
Вы шутите или издеваетесь? В упор не вижу ни тут, ни по ссылке на вашем сайте, где описано, каким образом файл надо отправлять.
Аа, нашел)

Специальная регистрация на конкурс не требуется. Подтверждением участия в конкурсе является вариант ответа через форму обратной связи на странице ttools.ru/?page_id=38. Необходимо указать контактные данные, никнейм, ссылку на файл-решение, а также желательно оценку сложности задачи на взгляд участника по пятибалльной системе (1-очень легкая, 5-очень сложная).
Отсюда
Ну, все ясно.
Ровно через неделю после старта конкурса объявляются результаты (список участников, приславших правильное решение) и победитель.


Через неделю будет нечто вроде: «Все вы, ребята, молодцы. Прислали правильные ответы. Но победил мой друг, Вася Иванов. Именно ему мы и отправляем 10 000».

Теперь понятно, в чем подвох :)
Да уж… Неделя чтобы определить первого приславшего? :)
Предлагаю тогда следующим конкурсом сделать создание программы для автоматической проверки результатов.
А потом для автоматической проверки программы для автоматической проверки.
ну, ответы будут более-менее автоматически проверяться
Думаю, не первого ;)

А по какой-нить лотерее. Ну, или первого, но им все равно будет друг автора — Вася Иванов. Тут 100%.
В правилах написано
Победителем конкурса считается один участник, первым приславший правильное решение.
Вовсе нет) Никакого подвоха. Мне очень интересен этот опыт. Я чесно расчитаюсь с победителем. Но если вы не верите, и участие заведомо не доставит вам никакого удовольствие — лучше не участвуйте.

Неделя, чтобы немного растянуть удовольствие )
P.S. А вот кстати, есть у вас мысли, как бы я мог организовать следующий подобный конкурс, таким образом, чтобы снять с себя подобное подозрение. Я вот никак не могу придумать
Неделя, чтобы растянуть удовольствие от решения задачи, на которую требуется 2 минуты? — сомнительный ход.
может и действительно стоит время сократить. я подумаю. а чем лучше? всё равно это не спасет вас от подозрений. так хоть интрига какая-то. вы вот например уверены, что верное решение уже есть?
Я как минимум уверен в своем решении :) Оно жутко кривое, но должно работать :)

А интрига? Вот, например, я, зайдя на ваш сайт через 4 часа после старта и увидя такую простую задачку — не пошел бы ее решать, т.к. ежику понятно, что ее решили за первые пол часа уж точно.

Смысл в такой интриге?

От подозрений — да, не спасет. Но подозрения вызваны в 1-ю очередь тем, что задача на 2 минуты и реально — на скорость набора кода. А приз — 10 000 руб. Неадекватно. А неадекватность всегда вызывает подозрения.
ну посмотрим, если правда не будет никто — будут досрочные результаты.
>А приз — 10 000 руб. Неадекватно.
А я боялся, что этого будет мало. На адекватность у каждого свой взгляд. Может вообще, проблема в том, что приз денежный? Надо было разыграть какую-нибудь никому не нужную фигню, и все бы остались довольны )
А вы объявите список всех приславших где-нибудь, как обещано на сайте?
Объявлю. Список приславших правильное решение
Начните с покупки Розенталя. Он помогает придумывать грамотные конкурсы, а не ЭТО, где проверяется скорость набора кода и в которой думать не надо практически. То бишь кто первым заметил, того и тапки.
Ага. По сути — данный «конкурс» свелся не к «кто первый решит задачку», а к:

1. кто быстрее наберет код
2. кто быстрее заметит, как и куда нужно отправлять результат
я проверил несколько первых ответов, они не верны. Вопрос в том «кто первый правильно решит».
UFO landed and left these words here
UFO landed and left these words here
Такой тест, кстати, тоже решается вполне однозначно, бояться его нечего, ИМХО
надеюсь, вы уже отправили правильное решение?
Нет, мы решили быстренько командой и начали дальше работать) Нам нравится решать задачки, а не хернёй страдать и искать где там и что на Вашем сайте.
учту ваши пожелания в следующий раз, не ругайтесь
UFO landed and left these words here
UFO landed and left these words here
#!/usr/bin/python

f=open("in")
k=[4,8,15,16,23,42]
for s in f.readlines():
        l = s.split(" ")
        c = [0,0,0,0,0,0]
        for i in range(0,6)[::-1]:
                c[i]+=int(l[i])+1
                if (i>0):
                        if (c[i]>k[i]): c[i-1]=1
                        else: c[i-1]=0
                c[i]=str(c[i])
        p=" ".join©
        print p



В чем прикол?
согласен, вы раньше. Отвлекался на работу. ((=
И не один ) Можно немножко покритиковать? )

for i in range(0,6)[::-1]:
Что за жесть? o_O…
for i in range(5,-1,-1):


if (c[i]>k[i]): c[i-1]=1
else: c[i-1]=0
Боже, это же Питон, а не C/C++. Вот же
c[i-1] = 1 if c[i] > k[i] else 0
На крайний случай так:
c[i-1] = int(c[i] > k[i])


    c[i]=str(c[i])
p=" ".join©
print p
Зачем?
print  " ".join(map(str,c))
Спасибо. это то о чем думал, но не знал как записать, а разбираться времени не было
Подвох в том что не указано куда отправлять )
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
  const int max_val[] = { 4, 8, 15, 16, 23, 42 };
  const int digit_count = sizeof(max_val) / sizeof(max_val[0]);
  ifstream inf("konkurs1.txt");
  ofstream outf("out.txt");
  int number[digit_count];
  while(inf.good())
  {
    for(int i = 0; i < digit_count; i++)
    {
      inf >> number[i];
    }
    number[digit_count - 1]++;
    for(int i = digit_count - 1; i >= 0; i--)
    {
      if(number[i] > max_val[i])
      {
        number[i - 1]++;
        number[i] = 0;
      }
    }
    for(int i = 0; i < digit_count; i++)
    {
      outf << number[i];
      if(i != digit_count - 1)
      {
        outf << " ";
      }
    }
    outf << endl;
  }
}


www.sendspace.com/file/4flnzt

А почему через неделю? Вы ручками сверяйте файлы или это типа интрига? ух… аж интересно!
Нифига не понятно, почему:
“0 0 0 0 1 0” соответствует числу “43″ в десятичной системе

0*0^5 +0*0^4 +0*0^3 +0*0^2 + 1*1^1 + 0*0^0 = 1…
Каждая единица второго разряда равна 43
Каждая единица третьего разряда = 43*24
Ааа… тогда это не основание минус 1, а плавающее основание…
каждый разряд этой системы исчисления имеет свое максимальное значение (основание минус 1)
Что хотел сказать этим автор топика — загадка.
Если основание разряда равно 43, то максимальное значение в этом разряде равно 43 — 1 = 42
UFO landed and left these words here
это ж что ж за система счисления у вас такая, где

000010 обозначает «1»

а, судя по вашим формулам,

000000 = 000001 оба обозначают «0» ))
UFO landed and left these words here
комплексуете ?)) я нет, чего и вам желаю. Признаю, я иногда делаю ошибки в словах, чаще, чем хотелось бы
UFO landed and left these words here
Приз победителя – 10 000 рублей

Это в какой системе счисления?
Да, сумма неплохо увеличится, если использовать СС из задачи :)
Хотя если считать 10 одним разрядом, а 000 другим, то не очень.
)) В десятичной. В Российских рублях. )
Продолжаем уточнять. Это дефис перед суммой или знак «минус»? ))
Неделя это вы зря, уже к вечеру никто не будет отправлять результаты, так как ясно что такую простую задачу уже решили, надо менять критерий однозначно.
Советую если вы решили проводить такие конкурсы, то использовать для этого спец площадки для олимпиадных задач по информатике, там люди реально соревнуются, видно кто лидер, есть реальная возможность за счет ума/таланта его обогнать, а не как в вашем случае когда кто первый решил тот и молодец, хотя он мог использовать для этого отвратительные приемы программирования, тратить 100 Мб памяти и 200 секунд на обработку.
Для того чтобы найти такие площадки достаточно ввести в поисковике два слова «contest олимпиады» на выбор будут десятки порталов, их вам я и советую использовать.
спасибо за подсказку, я посмотрю что есть
UFO landed and left these words here
это как раз неинтересная задача ) Огромное множество людей решают её каждый день )
UFO landed and left these words here
>Ну тогда всё, что ваш QuikOrdersDOM+ делает — тоже неинтересная задача
Алгоритмически — интересного мало. Много много рутины
Интересно, числа только мне напоминают «Lost»?
совершенно верно) Небольшой привет для любителей сериала)
Напоминают? Это они и есть ))
Sign up to leave a comment.

Articles