ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1423. Басня о строке

Please help: reading lines in C++ (+)
Послано Michael Rybak (accepted@ukr.net) 11 фев 2006 18:49
What is the C++ *fast* analog for pascal's Readln?

I used any of 3 methods:

1.
     cin.getline(vs1, MAX_STR_L);
     cin.getline(vs2, MAX_STR_L);

2.
     getline(cin, s1);
     getline(cin, s2);

3.
     while(..) {..scanf("%c", &c)..}

Either of them is very slow (AC in 0.109), and running at my home PC shows  that algo works *way* faster than reading input itself. So, someone who got AC in 0.015 in C++, please help.

Edited by author 11.02.2006 18:50
Re: Please help: reading lines in C++ (+)
Послано void off() 11 фев 2006 19:04
Is scanf("%s",s1) also slow?
Try gets()
Послано Vladimir Yakovlev (USU) 11 фев 2006 19:14
AC in 0.031, thanks a lot! (-)
Послано Michael Rybak (accepted@ukr.net) 11 фев 2006 19:51
-

Edited by author 11.02.2006 19:51
Re: Please help: reading lines in C++ (+)
Послано Slawomir Tadeja 15 июн 2006 03:14
Try this:

#include <iostream>
using namespace std;

int main()
{
  ios_base::sync_with_stdio(0); // <- this line
  // Now synchronize I/O is off.

With this line my programs works 0.001 (if algorithm is good enough ;-).