В России сегодня не просто 20-е сентября, а День Рекрутера. В Азербайджане – нефтяника, а в Беларуси – таможенника. Для нас же это плюс ко всему еще один хороший день, чтобы провести раунд. Добро пожаловать на Codeforces Beta Round #29 (Див. 2, Codeforces format)!
Готовить раунд помогали: Михаил Мирзаянов, Дмитрий Матов, Геральд Агапов и Николай Кузнецов, за что им спасибо.
Счастливого Дня рекрутера,
Артем Рахов
UPD:
- Задачи
- Результаты
- Победитель: espr1t
Высокого рейтинга вам!!
Всем успехов на контесте!
Республика Корея, День благодарения.
Южная Осетия, День Независимости
Япония, День воздуха.
Азербайджан, День нефтяников.
Белоруссия, День таможенника.
Тока не понятно как последняя таска решается((
3
2 6
5 3
8 -6
interesting.. seems can't find the submission "You don't have access to view this submission"
3Q~
using System;
namespace CodeForcesApp
{
class B
{
static void Main(string[] args)
{
string[] s = Console.ReadLine().Split(' ');
int l = int.Parse(s[0]);
int d = int.Parse(s[1]);
int v = int.Parse(s[2]);
int g = int.Parse(s[3]);
int r = int.Parse(s[4]);
double time = 1.0 * l / v;
double t = 1.0 * d / v;
int c = g + r;
while (t > c)
t -= c;
if (t >= g)
time += c - t;
Console.WriteLine(time);
}
}
}
Форматирование Console.WriteLine("{0:f8}", time); не помогает.
Now I see, that I just used too little constant in array declaration. What a silly fail. :-)
- на мой взгляд TL оказался жестковат. я только что написал еще одно решение на Яве и оно прошло за 950ms (116688). на C++ похожие решения отрабатывают за 150ms (115992, 116490, 115816)
по задаче D:
- я конечно сам балбес, не добавил в решение if (!good) return;
порешал блин второй дивизион ))) хотя у меня есть определенная отговорка :P
я тоже на контесте написал решение которое двигало двоих сразу, у меня укладывалось в 1200ms (macbook pro, 2.4 ghz, 64-bit jvm). но я не заметил что TL всего лишь секунда. имхо можно было не разделять , а просто дать людям сдать задачу ) тем более самбитов по ней и так было очень и очень мало
у меня пашет этот тест
it's obvious that if the shortest path in the graph has even numbers of nodes, than that's a solution.. but what to do if that is not the case?
You can represent each state as (x1, y1), where x1 and y1 are the location of the two guys. Then you can transition from (x1, y1) to (x2, y2) at a cost of 1 if there exists edges (x1, x2) and (y1, y2). Ensure that x2 != y2. Thus, you begin with (1, n), and terminate at (n, 1). Since each transition is equally weighted, a normal queue is sufficient.
My solution was fairly sketchy since I got TLE using some C++ STL, but it passed with time 800ms when I manually implemented them. I'm wondering if there are more efficient solutions.
Sorry about the confusion; I meant BFS instead of Dijkstra. Basically a Dijkstra without checking to see if the new distance is lower.
Вся засада в культуре, ну или как сказал RAD, вместо точки выводится запятая. Походу все же такие вещи надо на сервере правильно настроить. Написал по этому поводу Майку.
Выводить можно так: Console.WriteLine(dbl.ToString(CultureInfo.InvariantCulture)). После изменений все прошло. Но обидно, уже 3 контеста с такой фигней сталкивался, и только сейчас дошли руки поэкспериментировать, в чем дело.
Понятно, что теперь не стоит забывать о всем, что связано с культурой: парсинг чисел, дат, вывод оных и т.п.
System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
в Main()
вот мой шаблон: http://paste.ubuntu.com/497437/
По этому поводу кстати можно и Тимус почитать:
Не забывайте, что культура по умолчанию может любой. Это важно, если вам требуется считать или вывести число с плавающей точкой: разделитель целой и дробной части может быть задан в системе как «.» или как «,». В настоящий момент на сервере настроен разделитель «.», однако это может измениться в будущем. Чтобы не сталкиваться с подобными проблемами, указывайте культуру явно при каждой операции ввода/вывода или установите культуру по умолчанию для всей своей программы:
What's test 19 in problem B?