Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Collections.Generic;
- namespace maxmin
- {
- class MainClass
- {
- public static int func(string s)
- {
- if (s[0] == 'M' || s[0] == 'm')// если строка начинается с букв М или м то надо разбить строку на 2 подстроки
- {
- string res1 = "", res2 = ""; //
- int skobka = 0; // эта переменная нужна чтобы следить есть ли у нас скобка без пары или нет
- // если она равна 0 значит скобка с парой иначе она без пары
- int i = 2;
- for (; i < s.Length; i++)
- {
- if (s[i] == '(')
- skobka++;
- else
- if (s[i] == ')')
- skobka--;
- else
- if (s[i] == ',' && skobka == 0) // если у нас появилась запятая и у всех скобок есть пары
- // значит мы нашли первую подстроку, выходим из цикла
- {
- i++;
- break;
- }
- res1 += s[i];
- }
- res2 += s.Substring(i, s.Length - i - 1);// определяем вторую подстроку
- if (s[0] == 'M') // если вначале была М большая значит берем максимум из результата вычисления функции
- // первой подстроки и второй
- return Math.Max(func(res1), func(res2));
- else// иначе берем минимум
- return Math.Min(func(res1), func(res2));
- }
- return int.Parse(s);
- }
- public static void Main(string[] args)
- {
- Console.WriteLine("Введите строку");
- string str = Console.ReadLine();
- Console.WriteLine(func(str)); // выводим результат который вычисляется в функции
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement