Advertisement
tockata

Five Special Letters

Jul 18th, 2014
671
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.73 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. class FiveSpecialLetters
  5. {
  6.     static void Main()
  7.     {
  8.         int start = int.Parse(Console.ReadLine());
  9.         int end = int.Parse(Console.ReadLine());
  10.         char[] letters = { 'a', 'b', 'c', 'd', 'e' };
  11.         char[] result = new char[5];
  12.         bool sequenceFound = false;
  13.  
  14.         for (int i = 0; i < letters.Length; i++)
  15.         {
  16.             for (int j = 0; j < letters.Length; j++)
  17.             {
  18.                 for (int k = 0; k < letters.Length; k++)
  19.                 {
  20.                     for (int l = 0; l < letters.Length; l++)
  21.                     {
  22.                         for (int m = 0; m < letters.Length; m++)
  23.                         {
  24.                             result[0] = letters[i];
  25.                             result[1] = letters[j];
  26.                             result[2] = letters[k];
  27.                             result[3] = letters[l];
  28.                             result[4] = letters[m];
  29.  
  30.                             if (calculateWeight(result, start, end))
  31.                             {
  32.                                 PrintResult(result);
  33.                                 sequenceFound = true;
  34.                             }
  35.                         }
  36.                     }
  37.                 }
  38.             }
  39.         }
  40.         if (sequenceFound == false)
  41.         {
  42.             Console.WriteLine("No");
  43.         }
  44.         else
  45.         {
  46.             Console.WriteLine();
  47.         }
  48.     }
  49.  
  50.     private static bool calculateWeight(char[] result, int start, int end)
  51.     {
  52.         List<Char> chars = new List<Char>();
  53.         int weight = 0;
  54.  
  55.         for (int i = 1; i <= result.Length; i++)
  56.         {
  57.             if (chars.Contains(result[i - 1]) == false)
  58.             {
  59.                 chars.Add(result[i - 1]);
  60.                 switch (chars[chars.Count - 1])
  61.                 {
  62.                     case 'a': weight += chars.Count * 5; break;
  63.                     case 'b': weight += chars.Count * (-12); break;
  64.                     case 'c': weight += chars.Count * 47; break;
  65.                     case 'd': weight += chars.Count * 7; break;
  66.                     case 'e': weight += chars.Count * (-32); break;
  67.                     default: break;
  68.                 }
  69.             }
  70.         }
  71.         if (weight >= start && weight <= end)
  72.         {
  73.             chars.Clear();
  74.             weight = 0;
  75.             return true;
  76.         }
  77.         else
  78.         {
  79.             chars.Clear();
  80.             weight = 0;
  81.             return false;
  82.         }
  83.     }
  84.  
  85.     private static void PrintResult(char[] result)
  86.     {
  87.         foreach (char character in result)
  88.         {
  89.             Console.Write(character);
  90.         }
  91.         Console.Write(" ");
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement