Слова C++

   Из слова «молоко» можно составить слово «коло». Сколько слов из заданного словаря можно составить, используя буквы заданного слова, причем каждую букву можно использовать не более одного раза.

Входные данные:
   В первой строке записано заданное слово, во втором - число N, количество слов в словаре.
Далее идет N строк - слова со словаря.
Выходные данные:
   Единственное число - количество слов, которые можно составить из заданного слова.

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char word[255],words[255][255];
char table[255];
int count[255],tempcount[256], templength,length,sum = 0, kilk,countwords = 0;
int mem = 0, index = 0;;
cin >> word;
cin >> kilk;
for (int i = 0; i < kilk; i++) cin >> words[i];
length = strlen(word);
table[0] = word[0];
for (int i = 1; i < length; i++)
{
for (int j = 0; j < i; j++) if (word[i] == table[j]) mem = 1;
if (mem == 0)
{
index++;
table[index] = word[i];
}
mem = 0;
}
mem = 0;
for (int i = 0; i <= index; i++)
{
for (int j = 0; j < length; j++)
{
if (table[i] == word[j]) mem++;
}
count[i] = mem;
mem = 0;
}
int mem2 = 0;
for (int a = 0; a < kilk; a++)
{
templength = strlen(words[a]);
mem = 0;
for (int i = 0; i <= index; i++)
{
for (int j = 0; j < templength; j++)
{
if (table[i] == words[a][j]) mem++;
}
tempcount[i] = mem;
mem = 0;
}
for (int i = 0; i <= index; i++) sum = sum + tempcount[i];
mem2 = 0;
if (sum == templength)
{
for (int i = 0; i <= index; i++)
{
if (tempcount[i]>count[i])mem2++;
}
if (mem2 == 0) countwords++;
}
sum = 0;
}
cout << countwords<< endl ;
}
Назад

Повышение продаж с помощью веб-форм Разложение числа на простые множители Как качественный контент способствует продвижению сайта Как выбрать хостинг Как писать SEO-тексты? Что такое SEO оптимизация сайта


Хостинг

Есть решение которого нет на сайте? Пиши admin@devexe.top