На форумі обговорюються лише питання, пов'язані з олімпіадою
Ви не зайшли.
Ну так почему тогда моё решение с %f не проходит тогда как тот же код с %lf проходит?
Тесты не соответствуют условиям? Прошу жюри уточнить этот вопрос
Відредаговано Silicious Man (2008-10-02 18:11:09)
Поза форумом
просто кривое условие)
Поза форумом
Уважаемое жюри, реально ли получть набор тестов, по которыми проверяются задачи на вашем сервере, для того, чтобы проверить задачи вручную и подумать для собственного развития над оптимизацией программы под те тесты(варианты исходных данных), которые не были пройдены?
Поза форумом
через года 2 да)
Поза форумом
RaMoN написав:
Уважаемое жюри, реально ли получть набор тестов, по которыми проверяются задачи на вашем сервере, для того, чтобы проверить задачи вручную и подумать для собственного развития над оптимизацией программы под те тесты(варианты исходных данных), которые не были пройдены?
Тесты обычно выкладывают на сервере по окончанию олимпиады.
Примерно — через полгода.
Поза форумом
Silicious Man написав:
Я потерял 9 баллов на задаче measure на том, что читал маской %f (а надо было %lf)
((((((
Прошу жюри в следующие разы уточнять точность, с которой представлены данные
А какой тип ты использовал? Если double, то для его корректного выведения нужна как раз маска %lf, если я не ошибаюсь.
Поза форумом
guest1 написав:
RaMoN написав:
Уважаемое жюри, реально ли получть набор тестов, по которыми проверяются задачи на вашем сервере, для того, чтобы проверить задачи вручную и подумать для собственного развития над оптимизацией программы под те тесты(варианты исходных данных), которые не были пройдены?
Тесты обычно выкладывают на сервере по окончанию олимпиады.
Примерно — через полгода.
Тут скорее всего будет быстрее.
Поза форумом
partisan написав:
Silicious Man написав:
Я потерял 9 баллов на задаче measure на том, что читал маской %f (а надо было %lf)
((((((
Прошу жюри в следующие разы уточнять точность, с которой представлены данныеА какой тип ты использовал? Если double, то для его корректного выведения нужна как раз маска %lf, если я не ошибаюсь.
В том-то и дело, что использовал float. Кстати, прошу прощения, код работает при изменении float на double везде. Если бы использовал double - проблем бы не было! А судя по тому, что не было указано, что там такая большая точность нужна, считаю не совсем правильным такие тесты делать. Если нужно, могу выложить свой код.
Поза форумом
Люди, не використовуйте потокові вводи cin, в крайньому випадку для дробових чисел, я через це втратив 27 балів на measure... ((
Поза форумом
Magistr написав:
Люди, не використовуйте потокові вводи cin, в крайньому випадку для дробових чисел, я через це втратив 27 балів на measure... ((
Если не секрет, каким образом? С потоковыми cin/cout можно легко набрать 30 балов
Поза форумом
Silicious Man написав:
Magistr написав:
Люди, не використовуйте потокові вводи cin, в крайньому випадку для дробових чисел, я через це втратив 27 балів на measure... ((
Если не секрет, каким образом? С потоковыми cin/cout можно легко набрать 30 балов
Не знаю, в мене просто було
cin >> A >> B;
Щойно я попробував зчитати як стрінги (теж потоково) - все пройшло о_О
Поза форумом
Magistr написав:
Silicious Man написав:
Magistr написав:
Люди, не використовуйте потокові вводи cin, в крайньому випадку для дробових чисел, я через це втратив 27 балів на measure... ((
Если не секрет, каким образом? С потоковыми cin/cout можно легко набрать 30 балов
Не знаю, в мене просто було
cin >> A >> B;
Щойно я попробував зчитати як стрінги (теж потоково) - все пройшло о_О
Наверное, не прошло потому что A и B типа float.
Поза форумом
Silicious Man написав:
Magistr написав:
Silicious Man написав:
Если не секрет, каким образом? С потоковыми cin/cout можно легко набрать 30 баловНе знаю, в мене просто було
cin >> A >> B;
Щойно я попробував зчитати як стрінги (теж потоково) - все пройшло о_ОНаверное, не прошло потому что A и B типа float.
Ні, вони в мене були дабл. я не використовую float Тепер не буду використовувати потоки
Поза форумом
Silicious Man написав:
partisan написав:
Silicious Man написав:
Я потерял 9 баллов на задаче measure на том, что читал маской %f (а надо было %lf)
((((((
Прошу жюри в следующие разы уточнять точность, с которой представлены данныеА какой тип ты использовал? Если double, то для его корректного выведения нужна как раз маска %lf, если я не ошибаюсь.
В том-то и дело, что использовал float. Кстати, прошу прощения, код работает при изменении float на double везде. Если бы использовал double - проблем бы не было! А судя по тому, что не было указано, что там такая большая точность нужна, считаю не совсем правильным такие тесты делать. Если нужно, могу выложить свой код.
С точностью как раз все нормально. Приведу цитату жюри: "Все числа в входных данных с одним десятичным разрядом, выводить следует тоже с однм знаком после запятой ( впрочем, это ясно из примера)". float должен вмещать 6 цифр. Может у тебя проблемы с округлением? Ты случайно не брал целую часть без использования +1e-8? Если да, то все, увы, логично.
Поза форумом
partisan написав:
Silicious Man написав:
partisan написав:
А какой тип ты использовал? Если double, то для его корректного выведения нужна как раз маска %lf, если я не ошибаюсь.В том-то и дело, что использовал float. Кстати, прошу прощения, код работает при изменении float на double везде. Если бы использовал double - проблем бы не было! А судя по тому, что не было указано, что там такая большая точность нужна, считаю не совсем правильным такие тесты делать. Если нужно, могу выложить свой код.
С точностью как раз все нормально. Приведу цитату жюри: "Все числа в входных данных с одним десятичным разрядом, выводить следует тоже с однм знаком после запятой ( впрочем, это ясно из примера)". float должен вмещать 6 цифр. Может у тебя проблемы с округлением? Ты случайно не брал целую часть без использования +1e-8? Если да, то все, увы, логично.
Кажется, я понял в чём проблема. У меня в конце выводятся пять знаков ответа (причём если входные данные double - то это даёт полный бал, а float не даёт). Если исправить там на вывод одной цифры, то и double и float дают полный бал
Поза форумом
Silicious Man написав:
partisan написав:
Silicious Man написав:
В том-то и дело, что использовал float. Кстати, прошу прощения, код работает при изменении float на double везде. Если бы использовал double - проблем бы не было! А судя по тому, что не было указано, что там такая большая точность нужна, считаю не совсем правильным такие тесты делать. Если нужно, могу выложить свой код.С точностью как раз все нормально. Приведу цитату жюри: "Все числа в входных данных с одним десятичным разрядом, выводить следует тоже с однм знаком после запятой ( впрочем, это ясно из примера)". float должен вмещать 6 цифр. Может у тебя проблемы с округлением? Ты случайно не брал целую часть без использования +1e-8? Если да, то все, увы, логично.
Кажется, я понял в чём проблема. У меня в конце выводятся пять знаков ответа (причём если входные данные double - то это даёт полный бал, а float не даёт). Если исправить там на вывод одной цифры, то и double и float дают полный бал
Странно, по идее больше цифр - лучше результат, за исключением разве что округления например на 0.4 и получения разности 1 вместо 1.4.
Поза форумом
partisan написав:
Silicious Man написав:
partisan написав:
С точностью как раз все нормально. Приведу цитату жюри: "Все числа в входных данных с одним десятичным разрядом, выводить следует тоже с однм знаком после запятой ( впрочем, это ясно из примера)". float должен вмещать 6 цифр. Может у тебя проблемы с округлением? Ты случайно не брал целую часть без использования +1e-8? Если да, то все, увы, логично.Кажется, я понял в чём проблема. У меня в конце выводятся пять знаков ответа (причём если входные данные double - то это даёт полный бал, а float не даёт). Если исправить там на вывод одной цифры, то и double и float дают полный бал
Странно, по идее больше цифр - лучше результат, за исключением разве что округления например на 0.4 и получения разности 1 вместо 1.4.
Да, странно. Но могу выложить код если нужно
Поза форумом
Silicious Man написав:
partisan написав:
Silicious Man написав:
Кажется, я понял в чём проблема. У меня в конце выводятся пять знаков ответа (причём если входные данные double - то это даёт полный бал, а float не даёт). Если исправить там на вывод одной цифры, то и double и float дают полный балСтранно, по идее больше цифр - лучше результат, за исключением разве что округления например на 0.4 и получения разности 1 вместо 1.4.
Да, странно. Но могу выложить код если нужно
Давай, посмотрю. Попробуй тесты вроде прогонки одного и того же решения на float и double, и взятием разности ответов и генерацией Runtime-Error, если она больше, скажем 0.1
Поза форумом
Вот в точности то, что я отправил во время тура. При изменении в выоде пяти знаков на один или типов float на double решение даёт полный бал.
#include <iostream> #include <algorithm> #include <stdio.h> using namespace std; bool cmp_ (float* a, float* b){ return a[0] < b[0]; } int main (void){ //freopen ("input.txt", "r", stdin); //freopen ("output.txt", "w", stdout); int n; float a[20000][2]; cin >> n; for (int i = 0; i < n; i++){ scanf ("%f%f", &a[i * 2][0], &a[i * 2 + 1][0]); a[i * 2][1] = 1; a[i * 2 + 1][1] = 0; } float* a_sorted[20000]; for (int i = 0; i < 2 * n; i++) a_sorted[i] = a[i]; sort (a_sorted, a_sorted + (int)2 * n, cmp_); double summ = 0; int line_counter = 0; for (int i = 0; i < 2 * n; i++){ if (line_counter) summ += a_sorted[i][0] - a_sorted[i - 1][0]; if (a_sorted[i][1] == 1) line_counter++; else line_counter--; } printf ("%.5f\n", summ); return 0; }
Поза форумом