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

Автор MikeMirzayanov, история, 9 лет назад, По-русски

Вы можете распечатать PDF-версию условий: http://assets.codeforces.com/statements/589.pdf

Пару дней назад был завершен четвертьфинал ACM-ICPC в Саратове. От лица жюри и организаторов еще раз поздравляю победителей, призеров и прошедших в полуфинал. Призовые места завоевали (ура!):

  • 1 место: Нижегородский государственный университет #1 (Владислав vepifanov Епифанов, Николай KAN Калинин, Михаил mike_live Кривоносов)
  • 2 место: Университет Иннополис (Евгений savinov Савинов, Сергей sokian Киян, Александр map Машрабов)
  • 3 место: Саратовский государственный университет #1 (Эдвард Edvard Давтян, Виталий kuviman Кудасов, Данил danilka.pro Сагунов)

В субботу (17-го октября) в 11:00 здесь состоится неофициальная трансляция прошедшего соревнования. Вас ждут интересные задачи, которые жюри постаралось сделать интересными как для начинающих, так и опытных участников. К участию приглашаются как команды из 1-3 человек, так и индивидуальные участники. Контест не будет влиять на рейтинг Codeforces.

Конечно, контест будет нерейтинговым. Рекомендуется командное участие. Скорее всего, позже он будет перенесен в Тренировки.

Желаю участникам!

Председатель жюри MikeMirzayanov.

P.S. Мы сожалеем, что наша трансляция пересекается с другими онлайн-турнирами, но поскольку запланированное изначально время в воскресенье оказалось занято трансляцией московского четвертьфинала NEERC, то подвинуть наше соревнования не представляется возможным. Если вы являетесь школьной командой, то рекомендуем обратить внимание на Интернет-версию Уральской региональной командной олимпиады.

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

»
9 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

А что лучше писать командам которым предстоит ACM-ICPC сезон? Я понимаю что можно будет потом написать в тренировках, и все же хотелось бы узнать что будут завтра писать многие?

»
9 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

An hour after this contest ends, COCI contest starts. Tomorrow's gonna be intense! :D

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится -17 Проголосовать: не нравится

    I do not attend any of these. And i was not if there was a t-shirt prize. I will not code anymore. We have been a very good family so far, but i need to leave now. Good bye! ps : im so sorry mahmoudhassan :(

»
9 лет назад, # |
  Проголосовать: нравится -37 Проголосовать: не нравится

No T-shirts ?

»
9 лет назад, # |
  Проголосовать: нравится -14 Проголосовать: не нравится

For how many Hours Contest will Run ??

»
9 лет назад, # |
  Проголосовать: нравится -27 Проголосовать: не нравится

Please provide editorial and codes if you plan on moving it to gym.

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    For what reason?

    • »
      »
      »
      9 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      I don't know a lot about Gym contests, but I know this much that they don't allow you to look at test cases, as well as others' solutions. Thus, I was asking them to open others' solutions and test cases , and also provide editorials. That's all :)

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Did I get so many downvotes because I forgot to mention "after the contest" , as Gym problems don't let you look at others' codes, or test cases?

    Please tell me if the reason is something else, because I would like to know. I haven't practiced a lot of Gym problems you see. :)

»
9 лет назад, # |
  Проголосовать: нравится +95 Проголосовать: не нравится

Почему у всей команды Университета Иннополис в профиле указано "Из организации МФТИ" ? :)

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится -29 Проголосовать: не нравится

    Я могу ошибаться, но видимо это подразделение(филиал) МФТИ

    • »
      »
      »
      9 лет назад, # ^ |
        Проголосовать: нравится +6 Проголосовать: не нравится

      К Физтеху Иннополис не имеет никакого отношения

  • »
    »
    9 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +6 Проголосовать: не нравится

    Как мне сказали — они все закончили МФТИ в том году, и поступили в Иннополис только чтобы еще раз в АСМ поучаствовать (ну и поучиться в "крутом" Иннополисе с хорошей стипендией обычным студентами, и, наверное, очень хорошей — участникам международных олимпиад).

    P.S. Извините, если спалил чей-то хитрый план.

    • »
      »
      »
      9 лет назад, # ^ |
        Проголосовать: нравится +31 Проголосовать: не нравится

      Почему крутой в кавычках? Как-то странно народ к новому относится. То все кричали: на науку всем плевать, никто не развивает, стипендии низкие.

      Вот стоят целый научный город. Это плохо? Почему университет не может оказаться крутым? Или я что-то такого эдакого про Иннополис не знаю, что довольго многие негативно о нем отзываются?

      • »
        »
        »
        »
        9 лет назад, # ^ |
          Проголосовать: нравится +46 Проголосовать: не нравится

        Я думаю многие боятся того, что это большая рекламная кампания Иннополиса это просто пыль в глаза. Мне самому интересно насколько это окажется крутым. Может ребята из МФТИ расскажут как там?

        • »
          »
          »
          »
          »
          9 лет назад, # ^ |
            Проголосовать: нравится +26 Проголосовать: не нравится

          Возможно, они сами не знают :) . Например, на пробном туре не было Машрабова. Как сказали его коллеги, "он еще не прилетел". Следовательно, добирались они на соревнование разными маршрутами.

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Условия задач будут на английском?

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А сколько ожидается задач?

»
9 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Will there be youtube editorial after the contest like last year ?

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

how will be the difficulty level of the problems?? Can we (newbie's) can solve these..

»
9 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

Есть ли ссылка на разбор?

»
9 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Как решать B?

  • »
    »
    9 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится +8 Проголосовать: не нравится

    Не думаю что это канонично, но заходит такое:

    Сначала сделаем чтобы в каждой паре первая сторона была больше (перевернем где нужно).

    Затем переберем обе стороны, вариантов 8000*4000, теперь для заданных размеров надо узнать какие подходят, пробегаться за 8000 опять будет долго, зато можно узнать за константу, если сделать запрос в матрице сколько пар правее и ниже нащей. Чтобы размер матрицы не был 10^6 на 10^6 сожмем координаты, чтобы переводить из несжатой в сжатую за константу сохраним перевод в массиве.

    Получим 8000^2 решение.

    http://pastebin.com/XpRPaGTy (без оптимизации map-> массив для сжатых 4 секунды) up 1 секунда с оптимизацией http://pastebin.com/RxdwVtbu

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    Решение за n^2 log(n): Переберем ширину — 2n варианта. теперь посмотрим для каждого прямоугольника, как лучше его положить. Выберем такой вариант, который даст хотя бы нужную ширину и максимальную высоту. Посортим все возможные высоты. Тогда ответ можно получить за один просмотр массива высот.

  • »
    »
    9 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

    Решение за n^2: Сохраняем каждую пару (w, h) так, что w > h (переворачиваем, если нужно). Сортируем по w. Запоминаем все уникальные h.

    Затем для каждого h и i (i <= n) запомним на суффиксе от i до n, сколько есть элементов таких, что их высота > h.

    Далее просто итерируемся по по возрастанию w, внутри итерируемся по уникальным значениям h, за константу отвечаем, сколько у нас элементов, больших h и имеющих ширину не менее w.

    Код решения: [submission:13688964]

  • »
    »
    9 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    А еще можно было решить двумерным деревом отрезков) [submission:13698682]

    Инкремент на прямоугольнике, запрос в единичной ячейке.

    • »
      »
      »
      9 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Ну и зачем дерево отрезков, если все запросы идут после всех обновлений? Двумерные префиксные суммы делают то же самое.

      • »
        »
        »
        »
        9 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Да это я так, забавы ради. На контесте было решение, подобное описанному RaifAkhmedshin.

        • »
          »
          »
          »
          »
          9 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          Мы тоже, забавы ради, в G написали ДО, которое находит количество и сумму элементов меньше заданного числа. TL9. Час в пустую.

          P.S. Хотя, в принципе, я сомневаюсь, что за два с половиной часа мы бы смогли еще что-то решить... Так же как и не смогли за полтора.

          • »
            »
            »
            »
            »
            »
            9 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

            Зато штрафа больше получилось.

            P.S. А H то вполне решабельная была, судя по обсуждению ниже.

          • »
            »
            »
            »
            »
            »
            9 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            Т.е. запрос к дереву включает l, r и threshold? Как выглядит такое дерево? У меня было два обычных ДО (кол-во и сумма) и сканлайн с бинпоиском. AC. На джаве. [submission:13711105]

            • »
              »
              »
              »
              »
              »
              »
              9 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится

              Да, именно так. В каждой вершине ДО лежит отсортированный массив. Когда спустилиcь до нужного массива делаем бинпоиск.

              Подробнее здесь.

              Получается на запрос. У нас там был ещё один логарифм из-за внешнего бинпоиска, поэтому TL.

              В итоге написали два обычных фенвика.

»
9 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Anyone please explain the idea of H. Thanks in advance.

  • »
    »
    9 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

    Answer for connected component is , where k is number of marked vertices in this CC.

    Assume for simplicity that our graph is a tree. Suppose we are solving for the subtree rooted at vertex v. Firstly we solve recursively for all children. After this step in each child's subtree at most one unmatched marked vertex, so we can match these vertices by combining them in paths going through vertex v. If there is left unmatched vertex in some child's subtree and v is also marked, then we match them.

    If our graph is not a tree, we can just take it's dfs tree or some spanning tree.

    • »
      »
      »
      9 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      "If our graph is not a tree, we can just take it's dfs tree or some spanning tree." Could you please explain this a bit more?

      • »
        »
        »
        »
        9 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        Tree is subgraph of given graph, and we built the maximal possible number of paths. Adding new edges does not improve our result. So we can ignore them without breaking any conditions.

»
9 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

How to solve Problem F ??

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится

    Just make binary search by time near each food and then apply a greedy strategy : eat the most needed food, that will be ended soon. (how many this food we need — number of second it will be available). http://pastebin.com/0crsX2yH

    • »
      »
      »
      9 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

      How can you prove it? I can't understand.. I used maxflow algorithm and accepted!

»
9 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

will test cases be public later? thanks

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Дорешивание открито будет? Если да, то когда?

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

is it possible to solve G with square-root decomposition ?

»
9 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

How to solve C?

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    First trick: we need only first 60 concatenates.

    • »
      »
      »
      9 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      What's the next trick? We have TLE #11, our solution works about 30s on max test. It's quite straightforward, with complexity something like O(queries * log(r) * maxShift).

      How to solve it faster?

      • »
        »
        »
        »
        9 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        My complexity the same is O(queries * log(r)). Next trick is recursion, if we want to know answer for k-th string on L,R we can use answer for k-1-th string for some new par L' and R'. k-th string can be split into four groups:

        [---p---][--s--][--s--][---p---]
        

        length of [s] it is t[k] (shift length)

        And now, clearly, we have 10 cases of calls in recursion, depending on location L and R.

        Next trick — |s| is small (<=100). In my solution i precalculate answers for all suffixes for all strings.

        For example, if L in 0th group and R in 2th we can use these values and just change R to R'. I think all 10 cases are easy except case L in 0 and R in 3. But if we built projection D of R

        [---p---][--s--][--s--][---p---]
        ..D...L__________________R......
        

        then we can call value for segment [D+1, L-1] and subtract it from all count of symbols. If D>=L we need add it, ofc.

»
9 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

can anyone share his algorithm about prob B? I only think of one with complexity O(n^2logn)

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    n^2 solution: Save all pairs (w, h) such thatw > h (swap them if needed). Sort in ascending order of w. Save all unique h values.

    For every unique h and i (i <= n) remember how many elements with height greater or equal than h there is on suffix from i to n.

    Then just iterate over w (in ascending order), inside this iterate over all unique h values, answer how many elements we have with height > h and having width not less than w in constant time.

    Solution: [submission:13688964]

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How to solve problem K?

  • »
    »
    9 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +43 Проголосовать: не нравится

    Problem K

    The key observation here is that every time we need to choose a task, we shouldn't look through all of them.

    Imagine we have a list of deques q, where q[t] is the deque containing all tasks with t[i] == t, ordered by l[i], then by i. Let's denote the minimal t such that q[t] is not empty, as minT.

    We can consider only deques q[minT], ..., q[minT + sqrt(10^5)]. Proof: If t[i] + sqrt(10^5) < t[j], then the function l[i] — (T — t[i])^2 is definitely less than l[j] — (T — t[j])^2, no matter what their l and t values are. So the tasks with t[i] > minT + sqrt(10^5) cannot be minimal.

    As all deques contain tasks ordered by l[i], then by i, just as in the statement, iterate over all t in the interval [minT, minT + sqrt(10^5)], and choose the best task from the first elements in deques.

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How to solve D?

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    O(n^2) . For Each , check others to catch up,This can be done in O(1) or using binary Search in Time.(O(log(n))

»
9 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

what's the 10th test case in problem D ? -_-

  • »
    »
    9 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +8 Проголосовать: не нравится

    Integer overflow probably. For me it failed on checking (f[i] - s[i]) * (f[j] - s[j]) > 0

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Could someone post their code for A?

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How to solve problem J ? if i can't move forward should I stop the robot ?

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

my solution for problem J(cleaner robot) is failing on test 15. Can anyone guess what would be wrong?

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    mine too ! couldn't pass the test 15. 15 attempts, all failed ! :(

    • »
      »
      »
      9 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      After WA15 I realized that it will be much easier to make more steps than it would ever need and increment answer on every new clean tile.

      And test I tried was like

      6 6
      ......
      ......
      R.....
      .....*
      ......
      ......

      • »
        »
        »
        »
        9 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        can you please tell me the answer for this test?

        • »
          »
          »
          »
          »
          9 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          14

          • »
            »
            »
            »
            »
            »
            9 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            I realized that it will be much easier to make more steps than it would ever need and increment answer on every new clean tile? can you elaborate it?

            • »
              »
              »
              »
              »
              »
              »
              9 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится

              In my solution I just make n2 * m2 steps. It's enough to get AC.

              • »
                »
                »
                »
                »
                »
                »
                »
                9 лет назад, # ^ |
                  Проголосовать: нравится +5 Проголосовать: не нравится

                If one step is either moving or rotating, it's enough to make 4*n*m steps. Cleaner has only 4*n*m different states — each direction on each cell. We did it bfs-like, though — with vis[row][column][direction].

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится

                  I agree
                  It's not like I was trying hard to get this number, chose the one that will be under the limits.

»
9 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Мне кажется задача D сводиться к задаче пересечение отрезков

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

what is the 15th test case of problem j??

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Can anyone share his code for problem J ?

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Maybe 1 10 .........U

    OR 10 10 .........* .......... .......... .......... .......... .......... .......... .......... .......... .........U

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Although my code is very big...i have written it in a very simple manner putting all the different conditions...so you can easily understand the code

    http://ideone.com/EuC5xL

    • »
      »
      »
      9 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      thanks. by the way, test cases are public now. so i found my bug. anyway thanks again for sharing your code. :)

»
9 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

can anyone guess what is test 15? question to those who passed the tests. I am curious in knowing where my solution is wrong

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Did anyone solve Problem — G using segment tree?

  • »
    »
    9 лет назад, # ^ |
    Rev. 19   Проголосовать: нравится +17 Проголосовать: не нравится

    Yep. Sort both the days and applicants (by di) in reverse order, process them in parallel. More specifically: when considering candidate i, it suffices to only consider the days j with tj > di (all other days are useless anyway). So we process the candidates by descending di, and for each candidate we would like to find the earliest time they could be done. Clearly if we only consider days j with tj > di, then the optimal solution will be some prefix of this sequence of days.

    You can use a segment tree where leaf j starts as (0, 0), and when you 'process' (more on this later) the day you set it to (tj, 1). Here the first value represents the total available time (we haven't considered setup time yet, but since we are going to maintain that for all days in the segment tree we have tj > di this day will still result in a net gain) and the second value represents the number of days over which this is spread. Combine two leaves with pairwise addition. The idea is now to insert each day j as soon as we process a candidate i with tj > di, because after that, all candidates will have a lower di value, and thus they can also use this day (recall that we process all candidates by di in descending order). You can achieve this quickly by also sorting the days in descending order and maintaining a pointer to the next day that should be inserted.

    After this, you can use the segment tree to compute whether a certain prefix of the days is sufficient. Query the interval [0, d) for some d, this will result in a tuple (time, days), the total amount of time and the number of days in this interval, respectively (amongst all days with tj > di). The candidate can then finish if and only if time ≥ ri + di × days. You can use binary search to find the smallest prefix, since, again, all days in the segment tree will result in a net gain (tj - di to be precise), so the amount of available time for a prefix [0, d) is increasing in d.

    After preprocessing my solution was because I was being lazy, but you can drop the binary search and find the optimal prefix in a single traversal in . Details are left as an exercise to the reader :)

    Code

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    I solved using BIT in nLogn complexity. Code

»
9 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

forget it. Everything is alright. :)

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

i could take it just for about half because of school classes! but i enjoy it !

thanks XD!

»
9 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

No way to see other's code?

»
9 лет назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

Было бы круто иметь галочку "показывать только призраков". Иногда хочется посмотреть, как же было дело на онсайте, а до монитора онсайта лезть далеко / задачи пошаффлены.

»
9 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

How to solve problem H?

»
9 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Ideas for H?

»
9 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

full of implementation

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

The algorithm for the robot to move and clean the floor in the room is as follows:

1.clean the current cell which a cleaner robot is in; 2. if the side-adjacent cell in the direction where the robot is looking exists and is empty, move to it and go to step 1; 3.otherwise turn 90 degrees clockwise (to the right relative to its current direction) and move to step 2.

Input #15:
10 10
.*********
.*.......*
.*.*****.*
D*.*...*.*
.*.*.*.*.*
.*.***.*.*
.*.....*.*
.*******.*
.*******.*
.........*

How the ans is 10? Why not like this?

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    You have an infinite robot movements on the first column: upwards-downwards.

  • »
    »
    9 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

    look here "The algorithm for the robot to move and clean the floor in the room is as follows:

    1. clean the current cell which a cleaner robot is in;
    2. if the side-adjacent cell in the direction where the robot is looking exists and is empty, move to it and go to step 1;
    3. otherwise turn 90 degrees clockwise (to the right relative to its current direction) and move to step 2. "
»
9 лет назад, # |
Rev. 2   Проголосовать: нравится +10 Проголосовать: не нравится

.

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Если что, у тебя была включена галочка "по-русски".

    Скорее всего дело в другом. После окончания контеста у Иннополиса висело сразу несколько не протестировавшихся сабмитов. В то же время, 16-я попытка(то есть первая, которая зашла) протестировалась еще до окончания контеста. Короче, у Иннополиса было стандартное "исправил-послал" в последние несколько минут, и сразу несколько их сабмитов прошли все тесты. На ЧФ засчитывалось по первой попытке, а на КФ засчитывается ресабмит :) .

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Could someone explain the idea to solve Problem M?

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

how to solve problem C?

»
8 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How to solve F using flows? Problem Link

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

what happened with the contest 589? We can't submit now!

you can visit vjudge https://vjudge.net/problem#OJId=CodeForces&probNum=589&title=&source=&category=all to view the statements, but can't submit.