Google Code Jam 2014. Задача B квалификационного раунда


Problem B. Cookie Clicker Alpha

using System;
<pre>
class Cookie
{
  static void Main(string[] args)
  {
    Byte T = Byte.Parse(Console.ReadLine());
    Double time1 = 0.0;
    const Double minRate = 2.0;
    string[] nums;
    Double C, F, X;
    var fmt = new System.Globalization.NumberFormatInfo();  
    fmt.NumberDecimalSeparator = ".";
    fmt.NumberDecimalDigits = 7;
    Double farmTime;
    Double rate;
    Double xTime;
    Double cTime;
    for (Byte i = 1; i <= T; i++)
    {
      nums = Console.ReadLine().Split();
      C = Double.Parse(nums[0], fmt);
      F = Double.Parse(nums[1], fmt);
      X = Double.Parse(nums[2], fmt);

      time1 = X / minRate;
      rate = minRate;
      farmTime = 0.0;
      cTime = 0.0;
      while (farmTime < time1)
      {
        if (farmTime > 0.0)
          time1 = farmTime;
        xTime = X / (rate + F);
        cTime += C / rate;
        farmTime = cTime + xTime;
        rate += F;
      }
      Console.WriteLine(String.Format(fmt, "Case #{0}: {1:F}", i,
        Math.Min(time1, farmTime)));
    }
  }
}
Реклама
Запись опубликована в рубрике перевод, программирование с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s