Advertisement
d_brezoev

VariableLength

Jan 24th, 2014
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.00 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Text.RegularExpressions;
  7.  
  8. namespace Task4Exam
  9. {
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             string codedtext = Console.ReadLine();
  15.             string[] codedTextArray = codedtext.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
  16.             int[] codedText = new int[codedTextArray.Length];
  17.             StringBuilder sb = new StringBuilder();
  18.             for (int i = 0; i < codedText.Length; i++)
  19.             {
  20.                 codedText[i] = int.Parse(codedTextArray[i]);
  21.                 string result = Convert.ToString(codedText[i], 2).PadLeft(8, '0');
  22.                 sb.Append(result);
  23.             }            
  24.             int length = int.Parse(Console.ReadLine());
  25.             Dictionary<int, string> dict = new Dictionary<int, string>();
  26.             for (int i = 0; i < length; i++)
  27.             {
  28.                 string code = Console.ReadLine();
  29.                 StringBuilder num = new StringBuilder();
  30.                 for (int z = 1; z < code.Length; z++)
  31.                 {
  32.                     num.Append(code[z]);
  33.                 }
  34.                 dict.Add(int.Parse(num.ToString()), code[0].ToString());
  35.             }
  36.             //var collection = dict.OrderBy(x => x.Key);          
  37.             int ones = 0;
  38.             for (int i = 0; i < sb.Length; i++)
  39.             {
  40.                 if (sb[i].ToString() == "1")
  41.                 {
  42.                     ones++;
  43.                 }
  44.                 else
  45.                 {
  46.                     if (dict.ContainsKey(ones))
  47.                     {
  48.                         Console.Write(dict[ones]);
  49.                     }
  50.                     else
  51.                     {
  52.                         break;
  53.                     }                    
  54.                     ones = 0;                    
  55.                 }
  56.             }          
  57.         }
  58.        
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement