Информатика

15 724 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Напишите программу, которая выводит номера элементов массива, равных данному числу.

Входные данные
В первой строке задается одно натуральное число N, не превосходящее 1000 – размер массива.

Во второй строке вводятся N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).

В третьей строке содержится одно целое число x, не превосходящее по модулю 1000.

Выходные данные
Вывести номера элементов, равных данному, в порядке возрастания. Если таких элементов нет, ничего выводить не нужно.

Что происходит во время копирующего присваивания в C++?

  1. Значение с левой стороны оператора = копируется в переменную с правой стороны.
     
  2. Значение с правой стороны оператора = копируется в переменную с левой стороны.
     
  3. Значение с левой стороны оператора = умножается на значение с правой стороны.
     
  4. Значение с правой стороны оператора = добавляется к значению с левой стороны.

Что определяет тип данных (тип) переменной в C++?

  1. Определяет, где в памяти будет храниться переменная.
     
  2. Определяет, какое значение будет хранить объект.
     
  3. Определяет имя переменной.
     
  4. Определяет, как часто переменная будет использоваться в программе.

Что происходит во время компиляции, когда компилятор видит определение переменной в C++?

  1. Переменной присваивается значение по умолчанию.
     
  2. Компилятор создает объект и присваивает ему адрес в памяти.
     
  3. Компилятор делает пометку о типе и имени переменной для последующего использования.
     
  4. Переменной присваивается адрес в памяти, и ей можно сразу присвоить значение.

Как в C++ осуществляется доступ к памяти для хранения и извлечения значений?

  1. Прямой доступ к памяти через адреса, такие как "получите значение, хранящееся в почтовом ящике номер 7532".
     
  2. Прямой доступ к памяти через идентификаторы, такие как "получите значение, хранящееся в переменной x".
     
  3. Косвенный доступ к памяти через объекты, позволяя компилятору определить, где и как получить значение.
     
  4. Косвенный доступ к памяти через адреса, такие как "получите значение, хранящееся в ящике номер 7532".

Что происходит с программой, когда она запускается на компьютере?

  1. Программа загружается в жесткий диск, и операционная система резервирует пространство для данных.
     
  2. Программа загружается в оперативную память, и операционная система резервирует дополнительную оперативную память для использования программой во время ее работы.
     
  3. Программа загружается в кэш процессора, и операционная система резервирует кэш для данных.
     
  4. Программа загружается в видеокарту, и операционная система резервирует видеопамять для данных.

Как программы на самом деле создают результаты?

  1. Они создают результаты, манипулируя данными (считывая, изменяя и записывая их).
     
  2. Они создают результаты, выполняя только вычислительные операции.
     
  3. Они создают результаты, обрабатывая только данные, введенные пользователем.
     
  4. Они создают результаты, обрабатывая данные исключительно из файлов.

Какое из следующих утверждений о многострочных комментариях в C++ является верным?

  1. Многострочные комментарии могут быть вложенными, то есть комментарий внутри комментария допустим.
     
  2. Многострочные комментарии не могут содержать однострочные комментарии внутри себя.
     
  3. Многострочные комментарии игнорируются компилятором, но увеличивают размер исполняемого файла.
     
  4. Многострочные комментарии могут начинаться с /* и заканчиваться */, и любые символы между этими маркерами игнорируются компилятором.

Что происходит с текстом, который идет после // в строке кода C++?

  1. Текст выполняется как обычный код.
     
  2. Текст игнорируется компилятором.
     
  3. Текст используется для документирования функций.
     
  4. Текст генерирует ошибку при компиляции.

Что представляет собой синтаксис в контексте программирования на C++?

  1.  Способ организации данных в программе, определяющий их структуру и тип.
     
  2.  Правила, регулирующие построение предложений в английском языке.
     
  3.  Набор инструкций, позволяющих компилятору определить основные функции программы.
     
  4.  Правила о том, как должны быть построены программы, чтобы считаться корректными в языке C++.

Какую роль выполняет строка 1?

  1. Объявляет основную функцию программы.
     
  2. Указывает компилятору, что программа завершилась успешно.
     
  3. Включает библиотеку, необходимую для использования std::cout.
     
  4. Делает программу более читабельной, разделяя части кода.
Что представляет собой функция в программировании на C++?
  1.  Графический элемент, используемый для создания пользовательского интерфейса.
     
  2.  Набор инструкций, выполняющихся последовательно для выполнения определенной работы.
     
  3.  Переменная, хранящая числовое значение.
     
  4.  Оператор, заставляющий программу выполнять определенные действия.
Что представляют собой инструкции в программировании на C++?

1) Блоки кода, объединенные вместе для выполнения определенной задачи.

2) Наименьшие независимые единицы вычислений, заставляющие программу выполнять определенные действия.

3) Переменные и константы, используемые для хранения данных.

4) Графические элементы, используемые для создания пользовательского интерфейса.

Дано бесконечное бинарное дерево. У дерева есть корень и бесконечное число вершин, у каждой вершины есть левый и правый сын, у всех вершин кроме корня есть отец.

Каждая вершина может быть покрашена в один из \(c\) цветов или быть бесцветной. Изначально все вершины бесцветные.

Вам необходимо обрабатывать два типа запросов:

  1. color(\(u\), \(x\)) Дана вершина \(u\), покрасить вершину \(u\) в цвет \(x\), а затем вызвать color(\(L\), \((x + 1) \bmod c\)) для ее левого сына \(L\) и color(\(R\), \((x - 1 + c) \bmod c\)) для её правого сына \(R\). Заметим, что эта операция перекрашивает все (бесконечное) множество вершин в поддереве вершины \(u\). Здесь \(\bmod\) — операция взятия числа по модулю. Если вершина уже была покрашена, то её цвет меняется на новый.

  2. Дана вершина, вывести её текущий цвет.

Формат входных данных
В первой строке вводятся два числа \(q\), \(c\) — количество запросов и цветов, соответственно (\(1 \leq q \leq 5 \cdot 10^5\), \(1 \leq c \leq 10^9\)). Затем следует \(q\) запросов, каждый из которых начинается с целого числа \(t_i\) — типа \(i\)-го запроса.

Если \(t_i\) = 1, то далее в строке даётся целое число \(x\) (\(0 \leq x \leq c - 1\)) цвет, в который надо покрасить вершину запроса \(u\). В следующей строке описан путь до вершины \(u\) в виде непустой строки \(s_i\), состоящей из символов <<L>> и <<R>>. Данная строка задаёт путь от корня дерева до вершины \(u\), где <<L>> обозначает переход к левому сыну, а <<R>> "— к правому.

Если \(t_i\) = 2, то в следующей строке задаётся путь до вершины, цвет которой необходимо вывести, заданный аналогично предыдущему запросу.

Гарантируется, что сумма длин путей до всех вершин запросов не превосходит \(5 \cdot 10^5\).

Формат входных данных
Для каждого запроса второго типа в новой строке необходимо вывести ответ на него. Если вершина бесцветная, необходимо вывести число \(-1\).

У Вовы есть любимый магнит. Вове очень нравится играть с ним на большой поляне, которую можно представить в виде прямоугольника \(n\) на \(m\) клеток.

Однажды он пришел играть на поляну с магнитом и потерял его в одной из клеток. Вова очень расстроился, но нашел решение — в каждую клетку поляны он положил компас, стрелка которого может принимать 8 положений: вверх, вверх-вправо, вправо, вниз-вправо, вниз, вниз-влево, влево и вверх-влево. Каждому положению стрелки соответствует его номер:

Стрелки принимают направление, близкое к направлению на магнит: если магнит лежит строго по диагонали от компаса, то его стрелка примет диагональное положение, иначе — более близкое к направлению на магнит из вертикального и горизонтального. Стрелка компаса в клетке с магнитом может быть направлена куда угодно.


Рисунок для примера из входных данных, стрелки всех компасов направлены на магнит.

Вова уже был готов к поискам, но тут вспомнил, что на поляне есть аномалия, которая инвертирует показания компасов вдоль ровно одной горизонтали и ровно одной вертикали. У компасов, которые лежат в зоне действия аномалии, стрелка смотрит строго в противоположном направлении тому, в котором она должна указывать.


Рисунок для примера из входных данных с учетом аномалии.

Теперь Вова не знает, как ему найти свой магнит, и просит помощи у вас.

Формат входных данных
В первой строке входных данных записаны два целых числа через пробел \(n\) и \(m\) — размеры поляны (\(2 \le n, m \le 1500, nm \ge 6\)).

В следующих \(n\) строках описываются компасы на поляне.

В \(i\)-й строке записаны \(m\) целых чисел \(a_{i,j}\) (\(1 \le a_{i,j} \le 8\)), \(j\)-е число в \(i\)-й строке обозначает направление стрелки компаса в \(j\)-й клетке \(i\)-й строки.

Формат выходных данных

В первой строке выведите два числа \(x\) и \(y\) через пробел — номер строки и столбца клетки, в которой лежит магнит.

Во второй выведите два числа \(a\) и \(b\) через пробел  — номера горизонтали и вертикали, в которых действует аномалия.


Замечание

В данном тесте магнит лежит в клетке \((2, 1)\), инвертируется горизонталь номер \(3\) и вертикаль номер \(3\).

Что такое Интегрированная среда разработки (IDE)?

1) Программа для создания графических интерфейсов.

2) Система управления базами данных.

3) Средство упрощения разработки и отладки программ.

4) Инструмент для автоматического тестирования кода.

Какая основная задача компоновщика при создании исполняемого файла?

1) Проверка орфографии и грамматики в объектных файлах.

2) Объединение объектных файлов и разрешение межфайловых зависимостей.

3) Автоматическое создание объектных файлов из исходного кода.

4) Оптимизация размера исполняемого файла для экономии памяти.
Каким образом компилятор C++ обрабатывает файлы исходного кода при компиляции программы?

1) Последовательно просматривает каждый файл .cpp, проверяя их соответствие правилам C++ и переводя код в инструкции машинного языка.

2) Переносит код на другие уровни компиляции для оптимизации производительности программы.

3) Использует файлы .obj для хранения только ошибок компиляции и их номера строк.

4) Импортирует код из файлов .obj в код других программ для многократного использования.
На что следует обращать внимание в процессе программирования на C и C++?

1) На уровень свободы, предоставляемый языком, который может привести к возможности создания бессмысленного кода.
2) На то, что C++ разработан для ограничения свободы программистов, чтобы избежать ошибок.
3) На то, что сложность языка автоматически ограничивает возможность создания низкокачественного кода.
4) На то, что в C++ нельзя писать высокопроизводительные приложения.

Какой из вышеприведенных вариантов ответа наиболее точно отображает важные аспекты программирования на языках C и C++?
Поделиться
Класснуть