Я должен создать программу, в которой в данном массиве элементов я должен рассчитать минимальное количество элементов, которые я должен изменить, чтобы не было дубликатов рядом друг с другом.
В каждой комнате windows, и все они на одной высоте, поэтому, когда Мендо ходит по дому и смотрит на них снаружи, windows выглядит так, будто они сложены строка. Mendo имеет три типа цветов (белый, серый и синий) и хочет закрасить windows, чтобы не было двух windows, которые были бы одного цвета и расположены один за другим. Напишите программу, которая будет считывать из стандартного ввода информацию о количестве windows и цене окраски каждого из них определенным цветом, а затем печатать минимальную стоимость раскраски всех windows на стандартном выводе.
Первая строка содержит целое число N (2 <= N <= 20), которое указывает число windows. В каждой из следующих N строк записаны 3 целых числа Ai, Bi, Ci (1 <= Ai, Bi, Ci <= 1000), где Ai, Bi и Ci обозначают значения окраски окна i в белом, сером и синий соответственно. </em>
Контрольный пример: Вход: 3 5 1 5 1 5 5 5 1 1 Выход: 3
Также , Я должен помнить, что первый и последний элементы считаются соседними элементами.
Я начал с сортировки массива по какой-то причине.
int main()
{
int N;
cin >> N;
int Ai, Bi, Ci;
int A[N * 3];
int A_space = 0;
for (int i = 0; i < N; i++) {
cin >> Ai >> Bi >> Ci;
A[A_space] = Ai;
A[A_space + 1] = Bi;
A[A_space + 2] = Ci;
A_space += 3;
}
for (int i = 0; i < N * 3; i++) {
for (int j = 0; j < N * 3; j++) {
if (A[j] > A[j + 1]) {
swap(A[j], A[j + 1]);
}
}
}
return 0;
}