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;
- using System.Text.RegularExpressions;
- namespace ConsoleApplication85
- {
- class Program
- {
- static void Main(string[] args)
- {
- var tickets = Console.ReadLine()
- .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
- .Select(t => t.Trim())
- .ToArray();
- foreach (var ticket in tickets)
- {
- if (ticket.Length != 20)
- {
- Console.WriteLine("invalid ticket");
- continue;
- }
- var left = ticket.Take(10).ToArray();
- var right = ticket.Skip(10).ToArray();
- var winningTicket = false;
- var leftResult = Repeating(left);
- if (leftResult.Symbol == '@'
- || leftResult.Symbol == '#'
- || leftResult.Symbol == '$'
- || leftResult.Symbol == '^'
- && leftResult.Count >= 6)
- {
- var rightResult = Repeating(right);
- if (leftResult.Symbol == rightResult.Symbol
- && rightResult.Count >= 6)
- {
- var jackpot = leftResult.Count == 10 && rightResult.Count == 10
- ? " Jackpot!"
- : string.Empty;
- Console.WriteLine($"ticket \"{ticket}\" - {Math.Min(leftResult.Count, rightResult.Count)}{leftResult.Symbol}{jackpot}");
- winningTicket = true;
- }
- }
- if(!winningTicket)
- {
- Console.WriteLine($"ticket \"{ticket}\" - no match");
- }
- Repeating(left);
- }
- }
- public class Result
- {
- public int Count { get; set; }
- public char Symbol { get; set; }
- }
- public static Result Repeating(char[] symbols)
- {
- var prevSymbol = symbols.First();
- int count = 1;
- int maxCount = 0;
- var maxSymbol = default(char);
- for (int i = 0; i < symbols.Length; i++)
- {
- var currentSymbol = symbols[i];
- if (prevSymbol == currentSymbol)
- {
- count++;
- }
- else
- {
- if (count > maxCount)
- {
- maxCount = count;
- maxSymbol = prevSymbol;
- }
- count = 1;
- }
- if (count > maxCount)
- {
- maxCount = count;
- maxSymbol = prevSymbol;
- }
- prevSymbol = currentSymbol;
- }
- return new Result
- {
- Count = maxCount,
- Symbol = maxSymbol
- };
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement