Грабли: различия между версиями

Материал из Олимпиадное программирование в УлГТУ
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 12: Строка 12:
* [http://codeforces.ru/blog/entry/17584 Codeforces — Weird bug with pow?]
* [http://codeforces.ru/blog/entry/17584 Codeforces — Weird bug with pow?]
* [http://codeforces.ru/blog/entry/6344 Codeforces — Работа с вещественными числами]
* [http://codeforces.ru/blog/entry/6344 Codeforces — Работа с вещественными числами]
=== Если не хватает точности double ===
# Меняем все double на long double;
# Меняем все вызовы cstdio (scanf/printf) на вызовы iostream (cin/cout);
# Добавляем l ко всем функциям cmath (sqrt -> sqrtl, atan2 -> atan2l);
# Сдаём под g++.
* [http://codeforces.com/contest/598/submission/14750380 #14750380] vs [http://codeforces.com/contest/598/submission/14750383 #14750383]
* [http://codeforces.com/contest/600/submission/14750408 #14750408] vs [http://codeforces.com/contest/600/submission/14750411 #14750411]


=== В <math.h> Visual C++ уже заняты глобальные имена j0, j1, jn, y0, y1, yn ===
=== В <math.h> Visual C++ уже заняты глобальные имена j0, j1, jn, y0, y1, yn ===

Версия от 21:09, 10 декабря 2015

cin/cout работает медленнее scanf/printf

endl сбрасывает буфер вывода после перевода строки

Вещественные числа нужно использовать с осторожностью; функции <math.h> работают с вещественными числами

Если не хватает точности double

  1. Меняем все double на long double;
  2. Меняем все вызовы cstdio (scanf/printf) на вызовы iostream (cin/cout);
  3. Добавляем l ко всем функциям cmath (sqrt -> sqrtl, atan2 -> atan2l);
  4. Сдаём под g++.

В <math.h> Visual C++ уже заняты глобальные имена j0, j1, jn, y0, y1, yn

Метод .size() у контейнеров STL возвращает беззнаковое число