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

Автор Hi4ko, 12 лет назад, По-русски

Задача

Моя попытка(WA 25)

x — радиус окружности у усечённого конуса на высоте d. Не совсем мне понятно, что здесь не так.

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

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

сравниваешь даблы — значит возможны косяки с точностью. Попробуй сделать сравнения типа abs(a-b) <= 1e-9, etc

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

Почему-то у меня этот код получает WA11

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

    точно, не ту попытку выложил.

    Cейчас в главном посте WA 25 и сравнение действительных чисел

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

      Ок. Первое условие в if неверно. Нужно проверить, что каждая тарелка сама по себе сможет залезть на поднос (это 4 условия), далее включается следующее условие. Это получает WA44, которое видимо можно побороть избавившись от double`ов.

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

        избавился от даблов, не помогло http://pastebin.com/iVefEEZP WA44

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

          Значит проблема во втором условии. Оно у меня другое.

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

          Ой.. нет же. Вы же не исправили ничего. return (R1*(H-D) + R2*D)/H; это же целочисленное деление

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

            я уже не понимаю, в чём проблема. Где тогда менять на целочисленные?

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

              Подсказка: если есть например неравенство в даблах a/b<=c, то можно это неравенство заменить на a<=c*b (при b>0), которое также будет работать в даблах, но и будет работать в целых без деления нацело.

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

ощущение что скоро на тимусе будет разбор всех задач с тимуса :(

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

Hi4ko организует