С++ , Разделение королевства Разделение королевства
Королевство Флатландия имеет вид бесконечной двумерной плоскости. В королевстве находятся n замков. Для более удобного составления карт в Флатландии была введена Декартова система координат. Известно, что i-й замок находится в точке с координатами (xi+0.5, yi+0.5), где xi, yi — целые числа. Местоположения всех замков попарно различны.
На старости лет король решил разделить на карте королевство между своими сыновьями прямыми, параллельными осям координат. Если прямая параллельна оси Ox, то у-координата всех точек на прямой должна быть целым числом, иначе x-координата у всех точек должна быть целым числом. В обоих случаях соответствующие целые координаты по модулю не должны превышать 2⋅109. При этом Его величество хочет, чтобы после разделения королевства любые два замка оказались в различных частях.
королю разделить королевство, используя не более чем n−1 прямую. У любой пары прямых должно быть не более одной общей точки.
Входные данные
В первой строке задано целое число n (1≤n≤100000) — количество замков в королевстве. В следующих n строках записаны по два числа xi и yi (−109≤xi≤109, −109≤yi≤109) — целые части координат замков.
Выходные данные
В первой строке выходного файла выведите количество используемых прямых. В следующих строчках выведите сами прямые, по одной в каждой строке. Если прямая параллельна оси Ox, то выведите символ "y", а затем через пробел y-координату всех точек на этой прямой, иначе выведите символ "x", а затем через пробел x-координату всех точек на этой прямой.
Примеры
Ввод
Вывод
4
0 2
0 3
1 2
1 3
2
y 3
x 1
197
390
Ответы на вопрос:
Var mas: array[-1000..1000] of integer; i, k, n: integer; begin {ввод количества элементов массива} readln(n); {ввод числа к} readln(k); {ввод массива и его вывод на экран} randomize; for i : = 1 to n do begin mas[i] : = 50 - random(100) - 1; write(mas[i]: 4); if (i mod 10 = 0) then writeln; end; {замена элементов массива} writeln; for i: =1 to n do begin if (mas[i] mod k=0) then mas[i]: =0 else mas[i]: =1; write (mas[i]: 4); if (i mod 10 = 0) then writeln; end; end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Oremi17.06.2020 06:23
-
solomiaoleksin25.08.2021 08:22
-
Gfgjlol19.05.2021 15:52
-
ольга148013.04.2023 15:53
-
golicinskaya31.03.2023 20:33
-
Hhh234115.07.2021 20:24
-
АнастасияГушпет31.05.2022 03:47
-
zimenko20141119.05.2022 01:44
-
belovworms2003p0af2431.10.2020 14:12
-
ekaterinibytori03.06.2021 18:48
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.