Для решения удобно воспользоваться хеш-функцией, которая возвращает уникальное значение для каждой строки (хеш).
В С++ 11 есть встроенное средства для получения хеша: hash.
В дальнейшем для подсчета количества хешей лучше использовать хеш-таблицу unordered_map, которая тоже появилась в С++ 11. Подробнее про использование map можно узнать в курсе Динамические структуры данных -> Ассоциативные массивы: map.
Пример получения хеша из строки "test":
hash<string> hash_fn;
size_t str_hash = hash_fn("test");
cout<<str_hash;
В результате будет выведено: "2949673445", таким образом от каждой уникальной строки можно получить уникальный хеш, который можно использовать в качестве ключа в unordered_map.