Это случай соревновательного программирования. В конкурентной борьбе команда 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, даже не реализуя и не запоминая синтаксис.