Проблема лотереи символов - как мне написать эту программу
A lottery system follows a rather unique way of picking the winning "string", i.e. not just the typical winning numbers but a series of characters and some numbers as well. The system pics one character randomly from a bowl at a time and then lays out the character picked out in a line along with the prior ones picked so far. The system then notes down the first non-repeating character in the list. If the non-repeating character does not exist, then it is assumed to be -1. This process is continued until all the N characters are picked. The winning "string" is the set of characters that is written out (including -1) at the end of the process separated by the spaces.
Пример № 1
Ввод
5 w w a c a
Выход
w -1 a a c
Есть 5 символов, которые нужно выбрать в следующем порядке:
Первый выбор: [w], 1-й неповторяющийся элемент-w, выведите "w".
Второй выбор: [w, w], никаких неповторяющихся элементов, выведите "-1".
Третье место: [Ж, Ш, А], 1-й неповторяющийся характер, принт "а".
Четвертое место: [Ж, Ш, А, Ц], 1-й неповторяющийся характер, принт "а".
Пятое место: [Ж, Ш, А, С, а], 1-й неповторяющийся характер, принт "с".
Следовательно, выигрышная строка-это "w -1 a a c".
Пример № 2
Ввод
6 a b c b a d
Выход
a a a a c c
Есть 6 символов, которые нужно выбрать в указанном порядке, после каждого выбора результат выглядит следующим образом:
Первый выбор: [а], 1-й неповторяющегося элемента, принт "а".
Второй выбор: [a, b], 1-й неповторяющийся элемент-это a, выведите "a".
Третий выбор: [a, b, c], 1-й неповторяющийся символ-это a, выведите "a".
Четвертый выбор: [a, b, c, b], 1-й неповторяющийся символ-это a, выведите "a".
Пятый выбор: [a, b, c, b, a], 1-й неповторяющийся символ-c, выведите "c".
Шестой выбор: [a, b, c, b, a, d], 1-й неповторяющийся символ-c, выведите "c".
Следовательно, выигрышная строка - "a a a a c c".
Что я уже пробовал:
#include <stdio.h> int main() { int n, i; printf("Enter number of elements:"); scanf("%d", &n); char a[n]; printf("Enter elements:"); for(i=0; i<n; i++) { scanf("\n%c", &a[i]); } result(a); } void result(int a[]) { //kindly help with the logic }