sahabg
17.10.2022 14:44

A. Раскраска во дворе ограничение по времени на тест2 секунды
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
Во дворе играют N детей. Каждый пронумерованы от 1 до N. Они использовали M веревок для того, чтобы связать друг друга. i-ая веревка связывает детей с номером Ai и Bi. После того как они закончили связывать друг друга, у них появилась чудная идея. Они захотели покрасить друг друга в красный и синий цвета. Да так чтобы цвета связанных между собой учеников были разными. Оказывается красная краска стоит дороже синей. То есть нужно как можно меньше использовать красную краску при раскраске ребят.

Так как наши герои дети и не очень сообразительны, они с вас с этой очень не задачей.

Входные данные
Вам дается 2 целых числа N и M, количество детей и веревок. Далее в M строках в i-ой из которых вам дается числа Ai и Bi, связанные дети.

∙ 1≤M,N≤105
∙ 1≤Ai,Bi≤109

∙ Всего есть 29 тестов, для каждого пройденного теста дается 3. Вещественная часть может немножко варьировать.

Выходные данные
Нужно вывести N раздельных чисел, цвет каждого ребенка. Если красный, тогда выведите "R", если синий, тогда выведите "B". Если окажется невозможным покрасить ребят по правилам, тогда выведите -1.
мне надо решить

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
bulyginanastya
08.02.2023 15:45

var

i,c:integer; //Объявляем переменные

mas: array [1..20] of integer; //Объявляем массив

begin

c:=0; //Обнуляем переменную c

writeln('20 случайных чисел:'); //выводим на экран сообщение

randomize; //запускам рандом

for i:=1 to 20 do begin //запускаем цикл для массива от 1го до 20го элемента по очереди

mas[i]:=random(5,20); //генерируем число от 5 до 20

if mas[i] mod 2 = 0 then begin //запускам проверку, на четность числа. Если оно делится без остатка на 2

c:=c+1; //то к переменной c прибавляем единицу (значит оно четное

end;

write(mas[i], ' '); //Выводим наш массив

end;

writeln(); //пробел между строк

writeln('Количество четных элементов = ', c); //выводим количество четных элементов  

end.

0,0(0 оценок)
Ответ:
vit7201
15.06.2021 18:19

import java.util.Arrays;

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {

       Scanner in = new Scanner(System.in);

       int n = in.nextInt();

       int k = in.nextInt();

       int[] array = new int[n];

       int[] array1 = new int[n];

       for (int i = 0;i < array.length;i++){

           array[i] = in.nextInt();

       }

       for (int i = 0;i < k;i++){

          array1[i] = in.nextInt();

           System.out.println(binarySearch(array,array1[i]));

       }

        }

   static String binarySearch(int[] sortedArray, int key) {

       int index = -1;

       int low = 0;

       int high = sortedArray.length - 1;

       while (low <= high) {

           int mid = (low + high) / 2;

           if (sortedArray[mid] < key) {

               low = mid + 1;

           } else if (sortedArray[mid] > key) {

               high = mid - 1;

           } else if (sortedArray[mid] == key) {

              return "YES";

           }

       }

       return "NO";

   }

}

Объяснение:

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота