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

Автор logistic, история, 5 лет назад, перевод, По-русски

Всем привет! Недавно, решая задачу 1324C - Frog Jumps, я столкнулся со странной проблемой. Обычно я пишу код в заготовленном шаблоне (дефайны и тд. и тп.). Так вот решение с шаблоном 73465768, получает ошибку исполнения на тесте 1. Переписав код без шаблона 73465554, все заходит. Кто-нибудь может объяснить в чем проблема кода с шаблоном? (Вижу, что codeforces ругается на вектор, но не пойму почему)

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

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

Единственное различие, которое я нашёл — твой дефайн с sz(x). Возможно из-за него слетает решение, типо не перевело в нужный тип данных и из-за этого выдало RE. Ну и наверное из-за подсчёта времени работы решения, не смотря на то, что у тебя оно выводит не в консоль

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

Смешивать scanf с cin, используя при этом ios_base::sync_with_stdio(false);, — плохая идея: сравните 73470964 и 73471183

»
5 лет назад, # |
Rev. 5   Проголосовать: нравится +9 Проголосовать: не нравится

The real problem with the first submission is not the template; it is reading the number of test cases t using the scanf macro #define sc(x) scanf("%d", &x) after turning off the synchronization between ios_base and stdio using ios_base::sync_with_stdio(false). All subsequent calls cin >> s inside the solve() function return an empty string.

Check the following output of your code.

https://ideone.com/W7vipx

You just need to replace sc(t) in the main() function with cin >> t.