Задача
После Нового года Витэк решил стать банкиром и поэтому стал играться только кубиками с цифрами, ведь будущая профессия требовала умения четко и быстро оперировать с цифрами и числами. И опять ему нравились такие расположения кубиков, на которых последовательность изображенных на них цифр читалась в обеих направлениях одинаково.
Каждое утро, придя в детсад Витэк сразу смотрел на разложенные на полу кубики, и если последовательность не читалась в обеих направлениях одинаково, доставал какое-то количество новых кубиков и размещал их правее, чтобы получить такое размещение кубиков, которое соответствовало его требованию.
Какое наименьшее количество кубиков нужно доставить для этого Витэку?
Входные данные
В первой строке – количество разложенных перед Витэком кубиков [latex]N[/latex] [latex](1 ≤ N ≤ 100)[/latex], в следующей строке последовательность из [latex]N[/latex] цифр на кубиках через пробел.
Выходные данные
Наименьшее количество кубиков, которое нужно правее доставить Витэку.
Тесты
# | Входные данные | Выходные данные |
---|---|---|
1 | 3 1 2 3 |
2 |
2 | 5 1 2 3 4 4 |
3 |
3 | 2 1 2 |
1 |
4 | 2 1 1 |
0 |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#include <iostream> using namespace std; int main() { int n, h=0, k=0; cin >> n; int A[n]; for ( int i = 0; i < n; i++ ) { cin >> A[i]; } for ( int i = 0; i < n; i++ ) { if ( A[n-1] == A[i] ) { int t = 1; for ( int j = i + 1; j < n - 1; j++ ) { if ( A[j] != A[ n - 1 - t ] ) { k++; } t++; } if ( k == 0 ) { h = i; break; } else k = 0; } } cout << h; return 0; } |
Решение задачи
Читаем поток данных переводя каждое прочитанное число в элемент массива. Для каждого элемента массива проверяем его равенство с последний и если да, то через два цикла(начиная с начала и с конца) проверяем равенство остальных элементов массива по двое и если да, то увеличиваем переменную, от которой будет зависеть ответ, если она в конце будет равна [latex]0[/latex], то выведем число равное номеру элемента массива равного последнему.
Ссылки
Условие задачи на e-olymp.com.
Код решения на ideone.com.