Проверка кода C online

По этим линкам можно быстро проверить свой код

Справка по этому отладчику


https://rextester.com/l/c_online_compiler_gcc12


По этому адресу хороший визуальный оладчик





Комментарии

  1. Ответы
    1. #include
      #include
      #include
      #include

      using namespace std;

      int main() {
      int n; // Количество чисел в массиве
      cin >> n;

      vector arr(n); // Массив чисел
      for (int i = 0; i < n; ++i) {
      cin >> arr[i]; // Ввод элементов массива. Обработка ошибок ввода отсутствует - предполагается корректный ввод.
      }

      int m; // Количество пар чисел, за которые дают конфету
      cin >> m;

      unordered_set> candies; // Множество пар чисел (конфеты), для быстрого поиска
      for (int i = 0; i < m; ++i) {
      int a, b;
      cin >> a >> b; // Ввод пары чисел. Обработка ошибок ввода отсутствует - предполагается корректный ввод.
      candies.insert({ min(a, b), max(a, b) }); // Добавление пары в множество (упорядочиваем для корректной работы)
      }

      // Сортировка пузырьком с учетом конфет
      for (int i = 0; i < n - 1; ++i) {
      bool swapped = false; // Флаг, указывающий на то, произошла ли перестановка элементов за один проход
      for (int j = 0; j < n - 1 - i; ++j) { // Исправленная граница цикла для эффективности
      if (arr[j] > arr[j + 1]) { // Если элементы находятся не в порядке возрастания
      // Более явный и надежный способ проверки на конфету:
      if (candies.find({ arr[j], arr[j + 1] }) == candies.end() && candies.find({ arr[j + 1], arr[j] }) == candies.end()) {
      swap(arr[j], arr[j + 1]); // Если нет - меняем местами
      swapped = true; // Устанавливаем флаг
      }
      }
      }
      if (!swapped) break; // Оптимизация: если за проход не было перестановок, массив отсортирован
      }

      // Вывод отсортированного массива
      for (int i = 0; i < n; ++i) {
      cout << arr[i] << (i == n - 1 ? "" : " "); // Вывод элемента, пробел, если это не последний элемент
      }
      cout << endl;

      return 0;
      }

      Удалить

Отправить комментарий

Популярные сообщения из этого блога

Пример правильного оформленя кода C по нормам школы 21

ДЕНЬ 1. Он же Day 00 :)