Регистрация
Войти
Стать экспертом Правила
Информатика

ТОЛЬКО С++В игру быки и коровы играют два игрока.Первый игрок загадывает последовательность из n различных цветов. Всего различных цветов существуют m. Цвета пронумерованы целыми числами от 1 до m. Таким образом загаданную последовательность можно представить в виде массива a из n элементов: a0, a1,..., an-1. Второй игрок пытается угадать массив a. Для этого он сообщает первому игроку своё предположение: массив b. В ответ на предположение первый игрок сообщает второму количество быков и коров в его предположении. Быком называется такое i, что ai = bi. Коровой называется такое i, что ai ≠ bi, но существует такое j, что ai = bj.Ваша Задание: по заданным массивам a и b вычислить количество быков и коров.Входные данныеВ первой строке задано два целых числа: n, m (1 ≤ n ≤ 5000, 1 ≤ m ≤ 105) — количество элементов в массиве и количество различных цветов.В следующей строке задано n целых чисел через пробел: a0, a1,..., an-1 (1 ≤ ai ≤ m) — элементы массива a.В следующей строке задано n целых чисел через пробел: b0, b1,..., bn-1 (1 ≤ bi ≤ m) — элементы массива b.Выходные данныеВыведите два целых числа через пробел: количество быков и коров.Пример(ы)input.txt5 104 3 8 9 78 3 5 2 4output.txt1 2input.txt3 31 2 33 1 2output.txt0 3input.txt3 31 2 31 2 3output.txt3 0

ОТВЕТЫ
#include <bits/stdc++.h>

using namespace std;

#define f0(i,n) for (int i = 0; i < (n); ++i)

int main()
{
    int n, m;
    cin >> n >> m;
    vector<int> a(n);
    f0(i, n)
        cin >> a[i];
    vector<int> b(n);
    f0(i, n)
        cin >> b[i];
    int bi = 0;int cow = 0;
    f0(i, n)
        if (a[i] == b[i])bi++;
        else
            f0(j,n)
            if (a[i] == b[j])cow++;
    cout << bi << ' ' << cow;
}


561
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам