Это случай соревновательного программирования. В конкурентной борьбе команда cin и cout обычно требует больше времени на выполнение, чем ее аналоги scanf и printf.

Команды scanf и printf обычно могут использоваться на языке C, но они, как правило, работают лучше и быстрее, чем другие команды. Но проблема, возникающая при использовании print, заключается в том, что мы должны запоминать каждое ключевое слово и для каждого типа данных. Такие как :

int x = 5;
printf("%d",x);

Как и в этом случае, для типа данных int это «d» для float, это «f» вместе с количеством десятичных знаков, которые мы хотим включить в него.

printf("%0.2f",x);

Эта команда будет печатать только до 2 десятичных знаков для числа с плавающей запятой.

В целом (возможно, я просто переборщил с командами), написание и запоминание этих новых синтаксисов может отнять у нас больше времени, а время очень ценно в любом соревновании. Решением этой проблемы является использование базовой команды ios:

ios_base::sync_with_stdio(false);
cin.tie(NULL);

Это может показаться немного чрезмерным или немного странным. Но эта команда имеет простую функциональность: она просто преобразует любую команду cin или cout в scanf и printf соответственно в фоновом режиме. Преимущества использования:

  • Мы можем продолжать использовать наши старые команды cin и cout
  • Мы можем наслаждаться временем выполнения scanf и printf, даже не реализуя и не запоминая синтаксис.