Стол для монобильярда, установленный в игровом доме уездного города N, оказался очень прибыльным вложением. До того, как в городе появился небезызвестный господин Чичиков. Раз за разом он выигрывал, и хозяин, подсчитывая убытки, понимал, что дело тут нечисто. Однако уличить подлеца в жульничестве не удавалось до прибытия в город N ревизора из Петербурга.
Правила игры в монобильярд очень просты: нужно последовательно закатить в единственную лузу шары с номерами 1, 2, …, N (именно в этом порядке). Пока господин Чичиков играл, ревизор несколько раз подходил к столу и забирал из лузы последний закатившийся туда шар. В конце концов, оказалось, что Чичиков закатил в лузу все шары, а ревизор все шары достал и обследовал. Аферист утверждал, что закатил шары в правильном порядке. Хозяин понял, что это его шанс: ревизор должен помнить, в каком порядке он доставал шары. Однако так ли легко будет доказать жульничество?
Оформление решения
В классе Monobillards реализуйте метод IsCheater, на вход которому подается список шаров в порядке извлечения их из лузы ревизором. Верните true, если Чичиков не мог закатить шары в правильном порядке. Иначе верните false.
Источник задачи — acm.timus.ru
В этой и последующих задачах тесты созданы с помощью фреймворка NUnit. Чтобы запускать эти тесты из VisualStudio вам нужно либо установить NUnit Test Adapter (Tools — Extensions and Updates — Online — NUnit Test Adapter), либо использовать возможности Resharper — плагина к Visual Studio.
1 2 3 4 5 6 7 8 9 10 |
// Вставьте сюда финальное содержимое файла Monobilliards.cs using System; using System.Collections.Generic; using System.Collections; using System.Linq; namespace Monobilliards { public class Monobilliards : IMonobilliards { |
Стоимость решения этой задачи всего 100 рублей, закажи решения у меня 🙂