Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.72 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text.RegularExpressions;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Globalization;
  8. using System.Numerics;
  9.  
  10. namespace ConsoleApp5
  11. {
  12.     static class Program
  13.     {
  14.  
  15.         public static void Main(string[] args)
  16.         {
  17.             string[] tickets = Regex.Split(Console.ReadLine(), @"\s*,\s*");
  18.             char[] winningSymbols = new char[4] { '@', '#', '$', '^' };
  19.  
  20.  
  21.             foreach (var ticket in tickets)
  22.             {
  23.  
  24.                 if (ticket.Length == 20)
  25.                 {
  26.                     string pattern = @"\@{6,}|\#{6,}|\${6,}|\^{6,}";
  27.                     StringBuilder sbLeft = new StringBuilder();
  28.                     StringBuilder sbRight = new StringBuilder();
  29.                     var halfLeft = ticket.Take(10).ToArray();
  30.                     var halfRight = ticket.Skip(10).Take(10).ToArray();
  31.                     for (int i = 0; i < 10; i++)
  32.                     {
  33.                         sbLeft.Append(halfLeft[i]);
  34.                         sbRight.Append(halfRight[i]);
  35.                     }
  36.                     Match matchLeft = Regex.Match(sbLeft.ToString(), pattern);
  37.                     Match matchRight = Regex.Match(sbRight.ToString(), pattern);
  38.                     if (matchLeft.Success && matchRight.Success)
  39.                     {
  40.                         int matchLength = Math.Min(matchLeft.Length, matchRight.Length);
  41.                         string matchL = matchLeft.ToString().Substring(0, matchLength);
  42.                         string matchR = matchRight.ToString().Substring(0, matchLength);
  43.                         if (matchL.Equals(matchR))
  44.                         {
  45.                             char symbol = matchL[0];
  46.                             if (matchLength == 10)
  47.                             {
  48.                                 Console.WriteLine(($"ticket \"{ticket}\" - {matchLength}{symbol} Jackpot!"));
  49.  
  50.                             }
  51.                             else
  52.                             {
  53.                                 Console.WriteLine(($"ticket \"{ticket}\" - {matchLength}{symbol}"));
  54.  
  55.                             }
  56.  
  57.                         }
  58.                         else
  59.                         {
  60.                             Console.WriteLine($"ticket \"{ticket}\" - no match");
  61.                         }
  62.  
  63.                     }
  64.                     else
  65.                     {
  66.                         Console.WriteLine($"ticket \"{ticket}\" - no match");
  67.                     }
  68.                 }
  69.                 else
  70.                 {
  71.                     Console.WriteLine("invalid ticket");
  72.                 }
  73.             }
  74.  
  75.  
  76.         }
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement