Advertisement
dimipan80

Exam 3. Magic Strings

Jun 7th, 2014
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.20 KB | None | 0 0
  1. namespace _4.MagicStrings
  2. {
  3.     using System;
  4.  
  5.     public class MagicStrings
  6.     {
  7.         public static void Main(string[] args)
  8.         {
  9.             checked
  10.             {
  11.                 int diff = int.Parse(Console.ReadLine());
  12.  
  13.                 char[] letters = { 'k', 'n', 'p', 's' };
  14.                 bool foundMagicString = false;
  15.                 foreach (char a in letters)
  16.                 {
  17.                     foreach (char b in letters)
  18.                     {
  19.                         foreach (char c in letters)
  20.                         {
  21.                             foreach (char d in letters)
  22.                             {
  23.                                 int firstWeight = CalculateWeightOfFourLetters(a, b, c, d);
  24.                                 foreach (char e in letters)
  25.                                 {
  26.                                     foreach (char f in letters)
  27.                                     {
  28.                                         foreach (char g in letters)
  29.                                         {
  30.                                             foreach (char h in letters)
  31.                                             {
  32.                                                 int secondWeight = CalculateWeightOfFourLetters(e, f, g, h);
  33.                                                 int currentDiff = Math.Abs(firstWeight - secondWeight);
  34.                                                 if (currentDiff == diff)
  35.                                                 {
  36.                                                     foundMagicString = true;
  37.                                                     Console.WriteLine("{0}{1}{2}{3}{4}{5}{6}{7}", a, b, c, d, e, f, g, h);
  38.                                                 }
  39.                                             }
  40.                                         }
  41.                                     }
  42.                                 }
  43.                             }
  44.                         }
  45.                     }
  46.                 }
  47.  
  48.                 if (!foundMagicString)
  49.                 {
  50.                     Console.WriteLine("No");
  51.                 }
  52.             }
  53.         }
  54.  
  55.         private static int CalculateWeightOfFourLetters(char letter1, char letter2, char letter3, char letter4)
  56.         {
  57.             checked
  58.             {
  59.                 int sumWeight = 0;
  60.                 sumWeight += CalculateWeightOfEachLetter(letter1);
  61.                 sumWeight += CalculateWeightOfEachLetter(letter2);
  62.                 sumWeight += CalculateWeightOfEachLetter(letter3);
  63.                 sumWeight += CalculateWeightOfEachLetter(letter4);
  64.                 return sumWeight;
  65.             }
  66.         }
  67.  
  68.         private static int CalculateWeightOfEachLetter(char letter)
  69.         {
  70.             checked
  71.             {
  72.                 switch (letter)
  73.                 {
  74.                     case 'k':
  75.                         return 1;
  76.                     case 'n':
  77.                         return 4;
  78.                     case 'p':
  79.                         return 5;
  80.                     case 's':
  81.                         return 3;
  82.                     default:
  83.                         return 0;
  84.                 }
  85.             }
  86.         }
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement