Задача №8993 Составить слово

Можно ли из букв слова a составить слово b, причем каждую букву можно использовать только один раз?

Входные данные

Слово a в первой строке, b - во второй, состоящих из английских букв.

Выходные данные

Вывести Ok при положительном ответе и No в противном случае.

Алгоритм решения задачи

  • Для каждого символа из строки b ищем индекс в строке a;
  • Если индекс равен -1(символа нет в строке), то прерываем цикл и выводим No
  • Если символ найден то удаляем его из строки a по индексу.

Решение

using System;

class Program
{
    static void Main(string[] args)
    {
        var a = Console.ReadLine();
        var b = Console.ReadLine();
        var result = "Ok";
        for (int i = 0; i < b.Length; i++)
        {
            var symbol = b[i].ToString();
            var index = a.IndexOf(symbol);
            if (index == -1)
            {
                result = "No";
                break;
            }
            else
            {
                a = a.Remove(index, 1);
            }
        }

        Console.WriteLine(result);
    }
}

Смотрите также: