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;
- namespace startOverProb4
- {
- class Program
- {
- static void Main(string[] args)
- {
- string[] getTickets = Console.ReadLine().Split(new string[] { ", " }, StringSplitOptions.None);
- foreach (var item in getTickets)
- {
- string trimmedItem = item.Trim();
- if (trimmedItem.Length == 20)
- {
- string leftSide = trimmedItem.Substring(0 , 10);
- string rightSide = trimmedItem.Substring(10 , 10);
- int conditionsForWinningLeft = FindAWinner(leftSide); // броят на печел. символи за лява страна
- int conditionsForWinningRight = FindAWinner(rightSide); // броят на печел. символи за дясна страна
- string symbolLeft = getSymbol(leftSide); // какви са печел. символи от едната страна
- string symbolRight = getSymbol(rightSide); // -- /--
- if (conditionsForWinningLeft == 0 || conditionsForWinningRight == 0 // ако няма печеливши символи на една от страните
- || symbolLeft != symbolRight // ако символите са различни
- || conditionsForWinningLeft != conditionsForWinningRight) // ако броят на печелившите символи от двете страни е различен
- {
- Console.WriteLine($"ticket \"{leftSide}{rightSide}\" - no match");
- continue;
- }
- if (conditionsForWinningLeft == conditionsForWinningRight && symbolLeft == symbolRight)
- {
- switch (conditionsForWinningLeft)
- {
- case 6: Console.WriteLine($"ticket \"{leftSide}{rightSide}\" - {conditionsForWinningLeft}{symbolLeft}"); break;
- case 7: Console.WriteLine($"ticket \"{leftSide}{rightSide}\" - {conditionsForWinningLeft}{symbolLeft}"); break;
- case 8: Console.WriteLine($"ticket \"{leftSide}{rightSide}\" - {conditionsForWinningLeft}{symbolLeft}"); break;
- case 9: Console.WriteLine($"ticket \"{leftSide}{rightSide}\" - {conditionsForWinningLeft}{symbolLeft}"); break;
- case 10: Console.WriteLine($"ticket \"{leftSide}{rightSide}\" - {conditionsForWinningLeft}{symbolLeft} Jackpot!"); break;
- }
- }
- }
- else
- {
- Console.WriteLine("invalid ticket");
- }
- }
- }
- private static string getSymbol(string side)
- {
- string symbol = "no luck";
- bool one = side.Contains(new string('@', 6));
- bool two = side.Contains(new string('#', 6));
- bool three = side.Contains(new string('$', 6));
- bool four = side.Contains(new string('^', 6));
- if (one)
- {
- symbol = "@";
- }
- if (two)
- {
- symbol = "#";
- }
- if (three)
- {
- symbol = "$";
- }
- if (four)
- {
- symbol = "^";
- }
- return symbol;
- }
- private static int FindAWinner(string side)
- {
- int count = 0;
- bool one = side.Contains(new string('@', 6));
- bool two = side.Contains(new string('#', 6));
- bool three = side.Contains(new string('$', 6));
- bool four = side.Contains(new string('^', 6));
- if (one || two || three || four)
- {
- count = 6;
- }
- bool one1 = side.Contains(new string('@', 7));
- bool two1 = side.Contains(new string('#', 7));
- bool three1 = side.Contains(new string('$', 7));
- bool four1 = side.Contains(new string('^', 7));
- if (one1 || two1 || three1 || four1)
- {
- count = 7;
- }
- bool one2 = side.Contains(new string('@', 8));
- bool two2 = side.Contains(new string('#', 8));
- bool three2 = side.Contains(new string('$', 8));
- bool four2 = side.Contains(new string('^', 8));
- if (one2 || two2 || three2 || four2)
- {
- count = 8;
- }
- bool one3 = side.Contains(new string('@', 9));
- bool two3 = side.Contains(new string('#', 9));
- bool three3 = side.Contains(new string('$', 9));
- bool four3 = side.Contains(new string('^', 9));
- if (one3 || two3 || three3 || four3)
- {
- count = 9;
- }
- bool jackone = side.Contains(new string('@', 10));
- bool jacktwo = side.Contains(new string('#', 10));
- bool jackthree = side.Contains(new string('$', 10));
- bool jackfour = side.Contains(new string('^', 10));
- if (jackone || jacktwo || jackthree || jackfour)
- {
- count = 10;
- }
- return count;
- }
- }
- }
Add Comment
Please, Sign In to add comment