М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
юляФ1
юляФ1
19.04.2022 19:40 •  Информатика

Слоны В мире животных проходит турнир по шахматам на доске n*m! В решающем матче встречаются коала и акула, а судит этот матч слон. Коала выигрывает, поэтому акула прибегла к нечестной тактике: она запугала слона своими зубами, и он разрешил ей поставить сколько угодно слонов на поле. Теперь акула доставляет на доску слонов. Она хочет, чтобы никакие два из поставленных ею слонов не били друг друга. Также она хочет, чтобы число слонов было максимально (ведь чем больше фигур - тем лучше).

Акула рассказала вам, на каких позициях находятся фигуры в данный момент (и дала вам достаточную мотивацию ей выбрать места для слонов!

Шахматный слон ходит по диагонали и не может перепрыгивать через другие фигуры. Слонов можно ставить только на пустые клетки.

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

В первой строке вводятся целые числа n, m и k (1 ≤ n, m, k ≤ 500) - размеры доски (доска размера n*m) и число фигур на доске.

В следующих k строках выводятся по 2 числа: xi и yi (1 ≤ xi ≤ n, 1 ≤ yi ≤ m) - координаты i-й фигуры.

Формат результата

В первой строке выведите x (0 ≤ x ≤ n*m) - максимальное число слонов, которое вы можете поставить так, чтобы они не били друг друга.

В следующих x строках выведите по 2 числа: xi и yi - координаты i-го слона, которого вы поставили. 1 ≤ ri ≤ n, 1 ≤ ci ≤ m.

👇
Ответ:
Kell500
Kell500
19.04.2022

Нарушение правил

Объяснение:

Здравствуйте, это комитет Высшей Пробы. Вы были забанены на нашем сайте за вопрос на стороннем ресурсе. Данная информация дойдет до ваших учителей и родителей, если Вы не удалите этот вопрос немедленно.

4,4(11 оценок)
Открыть все ответы
Ответ:
Aurusu
Aurusu
19.04.2022
// тестировалось на C#.Net Framework 4.5
using System;

class Program
{
    static void Main()
    {
        int x1 = 2, y1 = 1;
        int x2 = 6, y2 = 5;
        int x3 = 10, y3 = 1;

        var a = Distance(x2, y2, x3, y3);
        var b = Distance(x1, y1, x3, y3);
        var c = Distance(x2, y2, x1, y1);

       
        Console.WriteLine("S = {0}", Square(a, b, c));
        Console.ReadKey();
    }

    //растояние между точками
    static double Distance(int x1, int y1, int x2, int y2)
    {
        return Math.Sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
    }

    //формула герона
    static double Square(double a, double b, double c)
    {
        var p = (a + b + c) / 2;
        return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
    }

    // теорема косинусов
    static double Angle(double a, double b, double c)
    {
        return Math.Acos((b * b + c * c - a * a) / (2 * b * c));
    }

    static bool IsAcuteAngel(double alpha)
    {
        return alpha < Math.PI / 2;
    }
}
4,6(77 оценок)
Ответ:
gulim1902
gulim1902
19.04.2022

Program nnatovna;
uses crt;
const n=13;
var
  a:array [1..n] of integer;
  i,min,max,temp:integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  writeln();
  randomize;
  writeln('Элементы массива:');
  {создание и вывод массива}
  for i:=1 to n do
    begin
      a[i]:=random(100)-50;
      write (a[i]:5);
    end;
{ищем номера мин и мах}
  min:=1;
  max:=1;
  for i:=1 to n do
    begin
      if a[min]>a[i] then min:=i;
      if a[max]<a[i] then max:=i;
    end;
{меняем местами мин и мах элементы}
  temp:=a[min];
  a[min]:=a[max];
  a[max]:=temp;    
{вывод результата}
  writeln();
  writeln('Результат:');
  for i:=1 to n do
    write(a[i]:5);
end.

4,7(76 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ