Здравствуйте. Меня направили на курс, где изучают алгоритмы и олимпиадное программирование на C++ (сам изучаю C#, но пришлось хотя бы немного поизучать C++). До этого я не занимался олимпиадным программированием и не работал с системами автоматической проверки заданий.
После просмотра обучающего видео на нужно было написать программу для поиска n-ого числа Фибоначчи. Я реализовал рекурсивную функцию на C++:
int n_fibonacci_num(int n) {
if (n < 2) return n;
return n_fibonacci_num(n - 1) + n_fibonacci_num(n - 2);
}
Теперь я использую вот такой код метода main():
int main() {
int n;
cin >> n;
int result = n_fibonacci_num(n);
cout << result;
return 0;
}
У меня на компьютере всё работает корректно, но при загрузке кода в систему проверки мне вылетает следующее сообщение:
У меня есть подозрение, что это происходит из-за потока ввода с консоли.
В своей программе я использую
cin >> n;
для принятия параметра
И
cout << result;
для отправки ответа.
Мне кажется, что автоматическая система не умеет работать с консольным потоком. Объясните, как работать с такими автоматическими системами при решении олимпиадных задач. Заранее спасибо.