@ImPaha

Как получить ввод c++ для задачи по спортивному программированию?

Я новичок в спортивном программировании. Мне попалась задача, которую я знаю как можно решить, но я абсолютно не понимаю как здесь оформить ввод данных.

Ввод выглядит так:
В каждой из следующих q строк записана очередная команда в следующем формате:
• 1 i x — это означает, что участник должен заменить i-е число последовательности на число x (1 ⩽ i ⩽ n; −109 ⩽ x ⩽ 109
).
• 2 k — это означает, что участник должен циклически сдвинуть последовательность чисел на
k вправо (1 ⩽ k < n).


По идеи, мы должны получать строку, т.к. если cin-ом сразу забивать в нужные переменные инфу, то нам нужно при каждом новом вводе одинаковое кол-во информации, а здесь если сначала стоит 1, то вводится информация в 3 переменные, а если стоит 2, то в две
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Число q, судя по тексту, уже дано вам в файле.
Поэтому просто циклом q раз читайте команду.
Там читайте одно число, и если это 1, то читайте i, x. Если это 2 - то читайте k.

for (int line = 0; line < q; ++line) {
  cin >> command;
  if (command == 1) {
    int i, x;
    cin >> i >> x;
    UpdateValue(i, x);
  } else {
    int k;
    cin >> k;
    ShiftRight(k);
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 12:05
2000 руб./за проект
28 мар. 2024, в 11:24
5000 руб./за проект