Помощ със задачата Title Search със C#

Здравейте, имам проблем със задача 3 от Mock Exam 4
Sign in това е условието.
Ще съм много благодарна за съвет.

Това е решението ми.

using System;
using System.Collections.Generic;

namespace next
{
class Program
{
static void Main(string[] args)
{
string title = Console.ReadLine();
int lines = int.Parse(Console.ReadLine());
int index = -1;
for (int i = 0; i < lines; i++)
{
string word = Console.ReadLine().ToLower();
string temp = title;

            if (word.Length>title.Length)
            {
                Console.WriteLine("No such title found!");
                index = 2;
                continue;
            }

            for (int j = 0; j < word.Length; j++)
            {
                index = temp.IndexOf(word[j].ToString());
                if (index > -1)
                {
                    temp = temp.Remove(index, 1);
                    index = -1;
                    if (j == word.Length-1)
                    {
                        index = 1;
                    }
                } 
            }

            if (index == 1)
            {
                Console.WriteLine(temp);
                title = temp;
            }
            else if(index == -1)
            {
                Console.WriteLine("No such title found!");
            }

        }

    }
}

}

Здравей, бих ти препоръчал да провериш пак условието, също така не съм сигурен този magic string - “Title” от къде идва.
На кратко, идеята е че трябва да прочетеш input и N (броя на думите, който ще трябва да провериш дали присъстват в останалият input).
Ето един пример:
string input = Console.ReadLine();
int n = int.Parse(Console.ReadLine());

for(int i =0; i < n; i++)

string currentWord = Console.ReadLine();

//logic if contains (remove it from input)

if(contains)

 //Print something

else

//Print something else

Бих те посъветвал, като изпращаш код да използваш Pastepin и когато имаш въпроси да се по конкретни.

Поздрави,
Мишо

Благодаря, че ми отговори.

Това е решението в Pastebin https://pastebin.com/FfyBVm6g
Добавих коментари в началните редове, за да е по-ясно коя променрива, какво представлява.

Проблема ми е, че първите 3 и последните 2 теста минават, но не и другите. Пренаписах кода 5-6 пъти от нулата, но все я докарвам до там и не мога да разбера, какво изпускам като логика.

Пробвах вместо string да използвам chаr [ ], методи, List, но …

Здрасти, пусни си програмата в debug и прегледай логиката в нестнатия For.
Също така, погледни тази логика:
for (int j = 0; j < word.Length; j++)
Идеята е че трябва да минеш през Title/Temp за всеки character от word/currentWord и да провериш дали го има, ако char-ровете съществуват в дадената последователност да ги изтриеш от Title/Temp и това да го направиш N на брой пъти.

Здравей, в нестнатия for въртя по дължината на word (подадената дума, чиито символи трябва да намеря в title), а с IndexOf намирам индекса на първото намерено съвпадение в temp\title за всяка буква от word, ако има съвпадение премахвам намерената буква в temp, като запазвам title непроменен, а ако няма такава буква IndexOf връща - 1 и печатам, че не е намерена думата и презаписвам отново temp да е равен на title и заличавам промените. Ако цялата дума се съдържа сетвам index =1 записвам промените (премахването на намерените букви) и печатам остатъка. За това не въртя по дължината на temp/title, a по word.
А външния for върти по N, който съм задала като lines.

Здрасти, изпращам ти решението на задачата:

Мисля, че ако оправиш логиката с IndexOf и провериш какъв string се формира на 34 ред, ще намериш отговора.
Поздрави

Благодаря много! Там е бил проблема. Явно с Remove() не е толкова прецизна операция.
Доста ме измъчи тази задача, благодаря още веднъж!