В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Lera6807
Lera6807
28.07.2020 11:28 •  Информатика

Задача 4: Обучение шахматам Маленькая Ева только учится играть в шахматы. Сегодня она узнала, как слон ходит по шахматной доске. Теперь она хочет понять, куда слон может добраться не более чем за 100 ходов Еве понять, может ли слон добраться от одной клетки до другой клетки шахматной доски.

Шахматный слон за один ход перемещается по диагонали на любое количество клеток. Шахматная доска имеет размеры 8 × 8.

Входные данные
Программа получает на вход 4 числа, записанных в отдельных строках. Первые два числа — номер строки и номер столбца исходной клетки, следующие два числа — номер строки и номер столбца конечной клетки (каждое число принимает значения от 1 до 8). Гарантируется, что исходная и конечная клетки не совпадают.

Выходные данные
В первой строке выведите Yes или No — ответ на вопрос задачи. Если в первой строке вы вывели Yes, то во второй строке выведите число n — количество ходов слона (число не превосходящее 100). В следующих n строках выведите последовательно клетки (номер строки и номер столбца клетки через пробел), в которые нужно перемещать слона. Последняя выведенная клетка должна совпадать с заданной конечной клеткой.

Вам не нужно минимизировать число ходов слона, но оно не должно превосходить 100.

Система оценки
В этой задаче 20 тестов, помимо тестов из условия. Каждый тест оценивается в независимо от остальных.

Показать ответ
Ответ:
67889055
67889055
26.08.2020 20:23
В C++
#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
    using namespace std;

    const int N = 5;
    const int M = 6;

    int A[N][M];

    //Как-нибудь заполняем массив
    srand(time(0));
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < M; ++j)
            A[i][j] = rand() % (N * M) + 1;
    for (int i = 0; i < N; ++i)
    {
        for (int j = 0; j < M; ++j)
            cout << setw(4) << A[i][j];
        cout << endl;
    }

   
    //Подсчитываем сумму всех элементов массива
    int sum = 0;

    for (int i = 0; i < N; ++i)
        for (int j = 0; j < M; ++j)
            sum += A[i][j];

    //Вычитаем из полученной суммы повторяющиеся элементы
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < M; ++j)
        {
            bool flag = false;
            for (int i1 = 0; i1 < N; ++i1)
            {
                for (int j1 = 0; j1 < M; ++j1)
                    if (!(i == i1 && j == j1))
                        if (A[i][j] == A[i1][j1])
                        {
                            sum -= A[i][j];
                            flag = true;
                            break;
                        }
                if (flag)
                    break;
            }
        }

    cout << "Sum of different: " << sum << endl;

    return 0;
}
0,0(0 оценок)
Ответ:
Arsen00628
Arsen00628
18.02.2020 08:12
В C++
#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
    using namespace std;

    const int N = 5;
    const int M = 5;

    //Создаём массив и как-нибудь заполняем
    int A[N][M];
    srand(time(0));
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < M; ++j)
            A[i][j] = rand() % (N * M) + 1;
   
    //Выводим его на экран
    for (int i = 0; i < N; ++i)
    {
        for (int j = 0; j < M; ++j)
            cout << setw(4) << A[i][j];
        cout << endl;
    }

    //Меняем местами 2ю и 3ю строки
    int temp = 0;
    for (int j = 0; j < M; ++j)
    {
        temp = A[1][j];
        A[1][j] = A[2][j];
        A[2][j] = temp;
    }

    //Выводим полученный массив на экран
    cout << "\n\n";
    for (int i = 0; i < N; ++i)
    {
        for (int j = 0; j < M; ++j)
            cout << setw(4) << A[i][j];
        cout << endl;
    }

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