Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace MagicExchangableWords
- {
- class MagicExchangableWords
- {
- static void Main(string[] args)
- {
- string[] wordsToCheck = Console.ReadLine().Split(' ').ToArray();
- string firstWord = wordsToCheck[0];
- string secondWord = wordsToCheck[1];
- int shorterStrInd = Math.Min(firstWord.Length, secondWord.Length);
- bool areMagicWords = CheckIfTwoWordsAreExchangable(firstWord, secondWord, shorterStrInd);
- Console.WriteLine(areMagicWords.ToString().ToLower());
- }
- private static bool CheckIfTwoWordsAreExchangable(string firstWord,
- string secondWord,
- int shorterStrInd)
- {
- Dictionary<char, char> magicWords = new Dictionary<char, char>();
- bool areMagicWords = true;
- for (int currSymbol = 0; currSymbol < shorterStrInd; currSymbol++)
- {
- char charFromFirstString = firstWord[currSymbol];
- char charFromSecondString = secondWord[currSymbol];
- if (!magicWords.ContainsKey(charFromFirstString))
- {
- magicWords[charFromFirstString] = charFromSecondString;
- }
- else if (magicWords[charFromFirstString] != charFromSecondString)
- {
- areMagicWords = false;
- break;
- }
- }
- for (int longerStrInd = shorterStrInd; longerStrInd < firstWord.Length; longerStrInd++)
- {
- char charFromFirstLongerStr = firstWord[longerStrInd];
- if (!magicWords.ContainsKey(charFromFirstLongerStr))
- {
- areMagicWords = false;
- break;
- }
- }
- for (int longerStrInd = shorterStrInd; longerStrInd < secondWord.Length; longerStrInd++)
- {
- char charFromFirstLongerStr = secondWord[longerStrInd];
- if (!magicWords.ContainsValue(charFromFirstLongerStr))
- {
- areMagicWords = false;
- break;
- }
- }
- return areMagicWords;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement